openpyxl 提供了写入 Excel 的方法,这样我们就可以通过 Python 程序来创建或编辑 Excel 文件
1 创建与保存文件
import openpyxl # 创建 wb = openpyxl.Workbook() print('sheetnames = ' + str(wb.sheetnames)) sheet = wb.active print('sheet.title = ' + sheet.title) sheet.title = '人口统计' print('sheetnames = ' + str(wb.sheetnames)) # 保存 wb.save('人口.xlsx')
运行结果:
sheetnames = [‘Sheet’]
sheet.title = Sheet
sheetnames = [‘人口统计’]
- 通过 openpyxl.Workbook() 函数,就可以创建一个 Workbook 对象。
- 调用 save() 方法,就可以保存 Workbook 对象为 Excel 文件。
也可以加载某份 Excel 文件之后,将其内容保存在另一份文件中:
wb = openpyxl.load_workbook('人口.xlsx') sheet = wb.active sheet.title = '地区' wb.save('地区.xlsx')
注意: 当我们加载并修改了某份 Excel 文件之后,建议将其保存到另一份 Excel 文件中。这样做有以下好处:
- 如果代码存在缺陷,还有修复挽回的余地。
- 最初的那份 Excel 文件还可以用于二次处理。
2 新建与删除工作表( sheet)
# 创建工作表 print('开始创建工作表……') wb.create_sheet() print('sheetnames = ' + str(wb.sheetnames)) wb.create_sheet(index=2, title='人口分布') print('sheetnames = ' + str(wb.sheetnames)) print('创建完成。') # 移除工作表 print('开始移除工作表……') del wb['Sheet'] print('sheetnames = ' + str(wb.sheetnames)) print('移除完成。')
运行结果:
开始创建工作表……
sheetnames = [‘人口统计’, ‘Sheet’]
sheetnames = [‘人口统计’, ‘Sheet’, ‘人口分布’]
创建完成。
开始移除工作表……
sheetnames = [‘人口统计’, ‘人口分布’]
移除完成。
- create_sheet() 可以创建工作表。其 index 与 title 参数,可以指定工作表的索引和名称。
- del wb[${sheet_name}] 可以删除指定名称的工作表。
3 写入单元格
sheet = wb.active sheet['A1'] = '中国' print('A1 = ' + str(sheet['A1'].value))
运行结果:
A1 = 中国