在上一篇博客中主要讲了怎么通过 OpenPyXL 去获取 Excel 文件中的内容。OpenPyXL 除了提供 Excel 文件内容获取相关的方法,也提供了一些方法来往 Excel 中写入数据。
1. 创建并保存 Excel 文档
openpyxl.Workbook()
- 创建空的 Excel 文件对应的工作簿对象工作簿对象.save(文件路径)
- 保存文件
import openpyxl
# 创建空的Workbook对象(新建一个Excel文件对应的工作簿)
wb = openpyxl.Workbook()
# 获取工作簿中所有表的名字(默认情况下新建的 Excel 文件中只有一张名字是 'Sheet' 的表)
print(wb.sheetnames) # 结果: ['Sheet']
# 获取活跃表
sheet = wb.active
# 修改表的名字
sheet.title = '学生信息表'
# 保存 Excel 文件
wb.save('files/school.xlsx')
2. 创建和删除工作表
工作簿对象.create_sheet(title, index)
- 在指定工作簿中的指定位置(默认是最后)创建指定名字的表,并且返回表对象工作簿对象.remove(表对象)
- 删除工作簿中的指定表
import openpyxl
# 创建工作簿(默认有一张名字是 Sheet 的表)
wb = openpyxl.Workbook()
print(wb.sheetnames) # ['Sheet']
# 新建表
wb.create_sheet()
print(wb.sheetnames) # ['Sheet', 'Sheet1']
wb.create_sheet('财务')
print(wb.sheetnames) # ['Sheet', 'Sheet1', '财务']
wb.create_sheet(index=0, title='销售')
print(wb.sheetnames) # ['销售', 'Sheet', 'Sheet1', '财务']
# 删除表
wb.remove(wb['财务'])
print(wb.sheetnames) # ['销售', 'Sheet', 'Sheet1']
3. 将数据写入表格中
表对象[位置] = 值
- 在表中指定位置对应的单元格中写入指定的值,位置是字符串:‘A1’(第1列的第一行)、‘B1’(第二列的第一行)
import openpyxl
wb = openpyxl.load_workbook('files/school.xlsx')
sheet = wb.active
sheet['A1'] = '姓名'
sheet['B1'] = '年龄'
sheet['C1'] = '性别'
sheet['A2'] = '张三'
sheet['B2'] = 28
sheet['C2'] = '男'
wb.save('files/school.xlsx')
感谢您的点赞,这将是支持我继续创作的动力