10 使用openpyxl库进行Excel自动化之修改单元格内容

在上一章中,我们学习了如何使用 openpyxl 库打开和保存 Excel 文件。本章将继续深入 openpyxl 的功能,具体讲解如何修改单元格的内容。这在数据处理和报告生成中是一个非常重要的操作。

1. 修改单元格的基本操作

在开始之前,确保你已经安装了 openpyxl 库。如果还没有安装,可以通过以下命令安装:

1
pip install openpyxl

1.1 打开一个 Excel 文件

我们将首先打开一个已经存在的 Excel 文件,接着修改其中的单元格内容。

1
2
3
4
5
import openpyxl

# 打开一个现有的 Excel 文件
workbook = openpyxl.load_workbook('example.xlsx')
sheet = workbook.active # 选择活动工作表

1.2 修改单元格的内容

假设我们要修改 A1 单元格的内容为 "Hello, OpenPyXL!"。我们可以通过以下方式进行修改:

1
2
# 修改单元格 A1 的内容
sheet['A1'] = "Hello, OpenPyXL!"

这段代码将会把 A1 单元格的内容更新为我们指定的字符串。

1.3 读取并修改多个单元格的内容

在数据处理时,我们通常需要在循环中修改多个单元格。下面的例子展示了如何将 A 列的前 10 行内容更新为它们的行号。

1
2
3
# 修改 A1 到 A10 单元格的内容为行号
for row in range(1, 11): # 修改前10行
sheet[f'A{row}'] = row

2. 保存修改后的文件

在完成修改后,我们需要保存文件。可以使用以下代码将数据保存到原文件或另存为新文件。

1
2
3
4
5
# 保存到原文件
workbook.save('example.xlsx')

# 或者保存为新文件
workbook.save('modified_example.xlsx')

3. 案例:批量更新 Excel 数据

接下来,让我们看一个更复杂的案例,我们将从 Excel 表格中读入最近的学生成绩,并将这些成绩增加一定的分数(例如 5 分)。

假设我们的 Excel 文件(grades.xlsx)具有如下格式:

姓名 分数
小明 85
小红 90
小蓝 78

我们希望将每个学生的分数增加 5 分,并保存更新后的数据。代码示例如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
import openpyxl

# 打开现有的 Excel 文件
workbook = openpyxl.load_workbook('grades.xlsx')
sheet = workbook.active

# 修改分数
for row in range(2, sheet.max_row + 1): # 从第二行开始读取
current_score = sheet[f'B{row}'].value # 读取分数
new_score = current_score + 5 # 增加 5 分
sheet[f'B{row}'] = new_score # 更新单元格

# 保存修改后的文件
workbook.save('updated_grades.xlsx')

在这个例子中,我们通过遍历每一行来更新分数,代码使用 sheet.max_row 动态获取总行数,确保我们可以处理任意数量的学生数据。

4. 总结

本章我们学习了如何使用 openpyxl 库来修改 Excel 单元格的内容,包括单个和批量更新的方法。掌握这些基础操作后,你可以在数据处理和分析中实现自动化,节省大量时间。下一章我们将继续学习如何通过 openpyxl 创建图表,以增强数据的可视化效果。希望你通过本章的案例能够更好地理解如何进行 Excel 自动化操作。

10 使用openpyxl库进行Excel自动化之修改单元格内容

https://zglg.work/excel-python-auto/10/

作者

IT教程网(郭震)

发布于

2024-08-11

更新于

2024-08-11

许可协议

分享转发

交流

更多教程加公众号

更多教程加公众号

加入星球获取PDF

加入星球获取PDF

打卡评论