python使用openpyxl修改excel文件
时间: 2025-03-21 12:13:39 浏览: 40
### 使用 Openpyxl 修改 Excel 文件
Openpyxl 是一个强大的 Python 库,专门用于处理 Microsoft Excel 的 `.xlsx` 文件格式。以下是关于如何安装该库以及通过具体代码示例演示其读取、写入和修改 Excel 文件的功能。
#### 安装 Openpyxl
要使用 openpyxl,需先确保已正确安装此库。可以通过以下命令完成安装:
```bash
pip install openpyxl
```
这一步骤已在多个参考资料中提及[^1][^2][^3]。
---
#### 创建一个新的 Excel 工作簿并保存数据
下面的代码展示了如何创建新的 Excel 文件并向其中写入一些基础数据:
```python
from openpyxl import Workbook
# 创建一个新的工作簿对象
wb = Workbook()
# 获取活动的工作表
ws = wb.active
# 设置单元格 A1 和 B1 的值
ws['A1'] = '姓名'
ws['B1'] = '年龄'
# 添加更多数据到表格中
data_rows = [
('张三', 28),
('李四', 34),
('王五', 22)
]
for row in data_rows:
ws.append(row)
# 将工作簿保存为文件
wb.save('example.xlsx')
```
上述代码片段会生成名为 `example.xlsx` 的新文件,并填充简单的人员信息列表[^4]。
---
#### 加载现有的 Excel 文件并修改内容
当需要加载现有文件并对之进行编辑时,可以按照如下方式操作:
```python
from openpyxl import load_workbook
# 打开已经存在的 Excel 文件
file_path = 'existing_file.xlsx' # 替换为目标文件的实际路径
try:
wb = load_workbook(file_path)
except FileNotFoundError as e:
print(f"错误:无法找到指定文件 {e}")
else:
# 访问第一个工作表
ws = wb.worksheets[0]
# 修改某些特定单元格的内容
ws['C1'] = '备注'
ws['C2'] = '员工编号'
# 追加额外的一行记录
new_row_data = ['赵六', 29, '高级工程师']
ws.append(new_row_data)
# 保存更改后的文件
wb.save(file_path)
```
注意,在尝试打开不存在的文件时可能会引发异常;因此建议加入适当的错误捕获机制以增强程序健壮性。
---
#### 动态访问与更新单元格范围
除了逐个设置单个单元格外,还可以批量获取或设定区域内的所有单元格值。例如:
```python
# 假设我们想遍历第二列中的所有数值求平均数
column_b_values = []
for cell in ws['B'][1:]:
column_b_values.append(cell.value)
average_age = sum(column_b_values) / len(column_b_values)
print(f"平均年龄: {average_age}")
# 更新某一整列的新计算结果
new_column_c = ["注释"] + [f"{v}岁的人" for v in column_b_values]
for idx, value in enumerate(new_column_c):
ws.cell(row=idx+1, column=3).value = value
```
这里不仅实现了对某列数据的操作还示范了动态构建另一列关联描述的过程。
---
### 总结
以上介绍了利用 openpyxl 实现基本的 Excel 文档管理任务——从新建文档至复杂的数据分析再到最终存储回磁盘上的整个流程。无论是初学者还是有一定经验开发者都能从中受益匪浅。
阅读全文
相关推荐














