openpyxl使用介绍

本文涉及的产品
实时计算 Flink 版,1000CU*H 3个月
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
实时数仓Hologres,5000CU*H 100GB 3个月
简介: openpyxl使用介绍

openpyxl是一个用于读写Excel文件的Python库,它提供了许多方便的方法来处理Excel文件。本文将对openpyxl的使用做一个基本的介绍。

安装

要使用openpyxl,需要先安装它。可以使用pip命令来安装openpyxl,打开终端或命令行窗口,输入以下命令即可安装:

pip install openpyxl

创建文件

使用openpyxl创建Excel文件非常简单。可使用Workbook对象创建一个新的Excel文件,如下所示:

from openpyxl import Workbook
# 创建Workbook对象
wb = Workbook()
# 保存Excel文件
wb.save('example.xlsx')

打开和读取

要打开和读取Excel文件,可以使用load_workbook()函数。该函数接受Excel文件的文件名作为参数,并返回一个Workbook对象,如下所示:

from openpyxl import load_workbook
# 打开Excel文件
wb = load_workbook('example.xlsx')
# 获取第一个工作表
sheet = wb.active
# 获取单元格的值
value = sheet['A1'].value
print(value)

修改文件

要修改Excel文件,可以使用Workbook对象的各种方法。例如,可以使用append()方法向工作表添加行,如下所示:

from openpyxl import Workbook
# 创建Workbook对象
wb = Workbook()
# 获取第一个工作表
sheet = wb.active
# 向工作表添加行
sheet.append(['Name', 'Age', 'City'])
sheet.append(['Tom', 18, 'New York'])
sheet.append(['Jack', 21, 'London'])
# 保存Excel文件
wb.save('example.xlsx')

更改格式

openpyxl允许更改单元格的格式,例如,可以更改单元格的字体、颜色、对齐方式等。下面是一个示例,演示如何更改单元格的字体和颜色:

from openpyxl import Workbook
from openpyxl.styles import Font
# 创建Workbook对象
wb = Workbook()
# 获取第一个工作表
sheet = wb.active
# 设置字体和颜色
font = Font(color="000000")#黑色
sheet['A1'].font = font
sheet['A1'].value=  'Hello'
# 保存Excel文件
wb.save('example.xlsx')

复杂操作

openpyxl提供了许多方法处理Excel文件,例如,使用merge_cells()方法合并单元格,使用split()方法拆分单元格,使用freeze_panes()方法冻结窗格等。下面是一个示例,演示如何使用openpyxl实现复杂的Excel操作:

合并单元格

使用merge_cells()方法可以将多个单元格合并为一个单元格。例如,要将A1:E1合并为一个单元格,可以执行以下操作:

sheet.merge_cells('A1:E1')

拆分单元格

使用unmerge_cells()方法可以将合并的单元格拆分为多个单元格。例如,要将A1:E1拆分为多个单元格,可以执行以下操作:

sheet.unmerge_cells('A1:E1')

冻结窗格

使用freeze_panes属性可以冻结窗格。例如,要冻结B2单元格及其左侧和上方的单元格,可以执行以下操作:

sheet.freeze_panes = 'B2'

对齐单元格文本

使用Alignment类可以对齐单元格文本。例如,要将第4行的所有单元格的文本水平居中对齐,可以执行以下操作:

from openpyxl.styles import Alignment
for col in range(1, 6):
    cell = sheet.cell(row=4, column=col)
    cell.alignment = Alignment(horizontal='center')

图表

openpyxl库支持创建和编辑Excel图表。可以使用openpyxl.chart模块中的类来创建各种类型的图表,例如条形图、折线图、散点图等。下面是一个示例,演示如何使用openpyxl创建条形图:

from openpyxl import Workbook
from openpyxl.chart import BarChart, Reference
# 创建Workbook对象
wb = Workbook()
# 获取第一个工作表
ws = wb.active
# 向工作表添加数据
rows = [
    ['Country', '2015', '2016', '2017'],
    ['USA', 12, 15, 18],
    ['China', 8, 12, 16],
    ['Japan', 6, 8, 10],
]
for row in rows:
    ws.append(row)
# 创建条形图
chart = BarChart()
chart.title = 'Sales by Country'
chart.x_axis.title = 'Year'
chart.y_axis.title = 'Sales'
# 设置数据范围
data = Reference(ws, min_row=1, max_row=4, min_col=2, max_col=4)
# 将数据添加到图表中
chart.add_data(data)
# 将图表添加到工作表中
ws.add_chart(chart, 'A6')
# 保存Excel文件
wb.save('example.xlsx')

openpyxl还支持许多其他类型的图表,例如折线图、散点图、饼图等。要创建这些图表,可以使用openpyxl.chart模块中的不同类和方法。

总结

通过使用openpyxl库,可轻松操作Excel,更多信息可访问官方文档。

目录
相关文章
|
存储 算法 调度
笔记-Python最优化算法实战(Gurobi)
笔记-Python最优化算法实战(Gurobi)
1192 0
|
8月前
|
人工智能 Cloud Native Serverless
阿里云爸爸发福利!DeepSeek-R1满血版深度体验,4种部署攻略+隐藏羊毛大公开💎
本文介绍了四种部署DeepSeek-R1模型的方式:基于百炼调用满血版API、基于PAI部署、基于函数计算部署和基于GPU云服务器部署。每种方式各有优劣,适合不同需求的用户。其中,基于百炼调用满血版API无需部署,提供满血版模型和100万免费Token,适合快速体验;基于PAI部署适合需要微调模型的用户;基于函数计算部署提供WEB交互界面;基于GPU云服务器部署则适合技术能力强、有硬件资源的用户。方案还提供了免费试用入口和实践体验总结,帮助开发者更好地理解和使用DeepSeek-R1模型。
406 62
|
Web App开发 Python
【Chromedriver】下载、安装及配置
简介:【Chromedriver】下载、安装及配置
10629 60
【Chromedriver】下载、安装及配置
|
7月前
|
机器学习/深度学习 数据格式
R1-Omni开源!多模态模型+RLVR,让各模态作用清晰可见
随着 DeepSeek R1 的推出,强化学习在大模型领域的潜力被进一步挖掘。Reinforcement Learning with Verifiable Reward (RLVR) 方法的出现,为多模态任务提供了全新的优化思路,无论是几何推理、视觉计数,还是经典图像分类和物体检测任务,RLVR 都展现出了显著优于传统监督微调(SFT)的效果。
383 12
|
存储 数据采集 数据挖掘
TMDB电影数据分析(上)
TMDB电影数据分析(上)
497 0
|
Python
openpyxl 学习笔记
openpyxl 学习笔记
|
前端开发 数据安全/隐私保护 Python
Python 图文:小白也能轻松生成精美 PDF 报告!
Python 图文:小白也能轻松生成精美 PDF 报告!
612 1
对excel读写的三个模块,xlsxwriter最牛,xlwt , xlrd,openpyxl
对excel读写的三个模块,xlsxwriter最牛,xlwt , xlrd,openpyxl
|
存储 对象存储 Python
`openpyxl`是一个用于读写Excel 2010 xlsx/xlsm/xltx/xltm文件的Python库。它不需要Microsoft Excel,也不需要.NET或COM组件。
`openpyxl`是一个用于读写Excel 2010 xlsx/xlsm/xltx/xltm文件的Python库。它不需要Microsoft Excel,也不需要.NET或COM组件。
|
Android开发
Android Activity跳转详解
Android Activity跳转详解
1004 0