openpyxl使用介绍

本文涉及的产品
RDS DuckDB + QuickBI 企业套餐,8核32GB + QuickBI 专业版
简介: 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,更多信息可访问官方文档。

目录
相关文章
|
6月前
|
供应链 安全 物联网
2025年度工业互联网平台综合实力盘点:十大领先厂商深度解析与选型指南
2025年,工业物联网从“连接”迈向“价值”竞争。本文深度解析树根科技、华为云、阿里云等十大主流平台,聚焦连接能力、业务赋能与全球化部署,穿透技术参数,直击商业价值,助力企业精准选型,实现数字化转型战略突围。
1414 0
|
人工智能 Cloud Native Serverless
阿里云爸爸发福利!DeepSeek-R1满血版深度体验,4种部署攻略+隐藏羊毛大公开💎
本文介绍了四种部署DeepSeek-R1模型的方式:基于百炼调用满血版API、基于PAI部署、基于函数计算部署和基于GPU云服务器部署。每种方式各有优劣,适合不同需求的用户。其中,基于百炼调用满血版API无需部署,提供满血版模型和100万免费Token,适合快速体验;基于PAI部署适合需要微调模型的用户;基于函数计算部署提供WEB交互界面;基于GPU云服务器部署则适合技术能力强、有硬件资源的用户。方案还提供了免费试用入口和实践体验总结,帮助开发者更好地理解和使用DeepSeek-R1模型。
689 62
|
人工智能 Python
读取excel工具:openpyxl | AI应用开发
`openpyxl` 是一个 Python 库,专门用于读写 Excel 2010 xlsx/xlsm/xltx/xltm 文件。它是处理 Excel 文件的强大工具,可以让你在不需要安装 Excel 软件的情况下,对 Excel 文件进行创建、修改、读取和写入操作【10月更文挑战第3天】
573 0
|
机器学习/深度学习 数据格式
R1-Omni开源!多模态模型+RLVR,让各模态作用清晰可见
随着 DeepSeek R1 的推出,强化学习在大模型领域的潜力被进一步挖掘。Reinforcement Learning with Verifiable Reward (RLVR) 方法的出现,为多模态任务提供了全新的优化思路,无论是几何推理、视觉计数,还是经典图像分类和物体检测任务,RLVR 都展现出了显著优于传统监督微调(SFT)的效果。
1019 12
|
机器学习/深度学习 人工智能 搜索推荐
人工智能在医疗领域的应用:技术革新与未来展望
【8月更文挑战第22天】本文探讨人工智能(AI)在医疗领域的革新应用及未来前景。从医疗影像分析到诊断与康复管理,AI显著提升了医疗服务的质量与效率。通过具体案例展示,如Google Health的乳腺癌筛查系统及医渡科技在临床试验中的应用,文章揭示了AI带来的实际效益与挑战。未来,AI将与多学科融合,推动个性化医疗的发展,开启医疗健康的新篇章。
2429 3
|
Android开发
Android Activity跳转详解
Android Activity跳转详解
1507 0
|
数据采集 数据可视化 数据挖掘
利用 Jupyter 实现自动化报告生成 展示如何结合 Jupyter 和 Python 库
【8月更文第29天】为了创建自动化报告,我们可以利用 Jupyter Notebook 结合 Python 的强大库如 Pandas、Matplotlib 和 Seaborn 来处理数据、制作图表,并使用 Jinja2 模板引擎来生成 HTML 报告。这种方式非常适合需要定期生成相同类型报告的情况,比如数据分析、业务报表等。
1187 1
|
机器学习/深度学习 算法 TensorFlow
基于Python的图像处理技术在医学影像诊断中的应用
随着计算机视觉和深度学习技术的发展,Python在图像处理领域的应用日益广泛。本文将探讨如何利用Python编程语言及其相关库,结合医学影像诊断需求,实现图像处理技术在医学影像诊断中的应用。我们将介绍图像预处理、特征提取、图像分类等关键步骤,并探讨如何利用深度学习技术提高医学影像诊断的准确性和效率。
604 15
|
开发工具 git
openwrt编译
openwrt编译
585 1
|
数据处理 Python
4种方法用Python批量实现多Excel多Sheet合并
4种方法用Python批量实现多Excel多Sheet合并
2733 0