从入门到精通:Python OpenPyXL完整教程

OpenPyXL 是一个用于读写 Excel 文件(后缀为 .xlsx)的 Python 库,广泛应用于数据分析和数据处理的场景中。它能够让我们方便地创建、修改 Excel 文件,尤其适合需要处理大量数据的用户。在本教程中,我们将从 OpenPyXL 的安装开始,逐步介绍其基本用法,包括创建工作簿、添加数据、格式化单元格等,最后给出一些实用的示例。

一、安装 OpenPyXL

在开始之前,确保你已经安装了 Python。如果你还没有安装 OpenPyXL,可以使用 pip 来安装:

pip install openpyxl

二、创建工作簿并保存

首先,我们来创建一个新的 Excel 工作簿并保存到本地。

import openpyxl

# 创建一个工作簿
workbook = openpyxl.Workbook()

# 选择默认的工作表
sheet = workbook.active

# 给工作表命名
sheet.title = "示例数据"

# 保存工作簿
workbook.save("example.xlsx")
print("工作簿已创建并保存为 example.xlsx")

这个代码片段将创建一个名为 example.xlsx 的 Excel 文件,并且里面包含一个工作表。

三、向工作表添加数据

接下来,我们向工作表中添加一些数据。我们可以直接使用单元格的坐标来设置数据。

# 向工作表添加数据
sheet['A1'] = "姓名"
sheet['B1'] = "年龄"
sheet['A2'] = "张三"
sheet['B2'] = 25
sheet['A3'] = "李四"
sheet['B3'] = 30

# 继续保存工作簿
workbook.save("example.xlsx")
print("数据已添加并保存。")

在这个示例中,我们在 A1 和 B1 单元格中添加了表头,接着在 A2 和 B2 中填入了数据。

四、读取工作表数据

除了写入数据,OpenPyXL 也支持读取 Excel 文件中的数据。我们可以按照以下方式读取数据。

# 读取工作簿
workbook = openpyxl.load_workbook("example.xlsx")

# 选择工作表
sheet = workbook["示例数据"]

# 读取数据
for row in sheet.iter_rows(min_row=1, max_row=3, values_only=True):
    print(row)

在这个代码中,我们加载了之前创建的 example.xlsx 文件,并选择了我们之前创建的工作表。接着使用迭代方法读取前几行的数据。

五、格式化单元格

OpenPyXL 还提供了一些格式化单元格的功能,比如设置字体、背景颜色等:

from openpyxl.styles import Font, Color, Style

# 创建工作簿和工作表
workbook = openpyxl.Workbook()
sheet = workbook.active

# 设置标题
sheet['A1'] = "姓名"
sheet['B1'] = "年龄"

# 设置字体样式
sheet['A1'].font = Font(bold=True, color="FF0000")  # 粗体红色
sheet['B1'].font = Font(bold=True, color="FF0000")  # 粗体红色

# 添加数据
sheet['A2'] = "张三"
sheet['B2'] = 25

# 设置背景颜色
from openpyxl.styles import PatternFill

fill = PatternFill(start_color="FFFF00", end_color="FFFF00", fill_type="solid")
sheet['A2'].fill = fill  # 填充黄色

# 保存工作簿
workbook.save("styled_example.xlsx")
print("带样式的数据已保存为 styled_example.xlsx")

这个代码段中,我们不仅添加了数据,还对标题行进行了加粗和颜色设置,并将背景填充为黄色。

六、总结

在上述内容中,我们从创建工作簿、添加数据到读取数据和格式化单元格,详细介绍了 OpenPyXL 的基本使用方法。通过本教程,希望能够帮助你快速上手这个强大的库,进一步运用它来处理 Excel 文件,实现数据的高效管理和分析。继续探索 OpenPyXL 的更多功能,你将能够实现更多复杂的需求。

点赞(0) 打赏

微信小程序

微信扫一扫体验

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部