使用 python 的 openpyxl 写入 Excel

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 文件中。这样做有以下好处:

  1. 如果代码存在缺陷,还有修复挽回的余地。
  2. 最初的那份 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 = 中国

发表评论