一、引用插件
import openpyxl
from openpyxl.utils import get_column_letter
二、对Sheet,Cell的写操作
1.获取Sheet对象
# 创建一个新的工作簿
wb = openpyxl.Workbook()
sheet = wb.active # 获取活跃的sheet
print(sheet.title)
输出结果:
2.对Sheet进行修改/添加/删除操作
# change the name of the sheet
sheet.title = 'test2'
print(wb.get_sheet_names())
# 创建sheet;(index代表位置,title代表sheet名)
wb.create_sheet(index=0, title='test0')
wb.create_sheet(index=1, title='test1')
print(wb.get_sheet_names())
# 删除指定的sheet;
wb.remove_sheet(wb.get_sheet_by_name('test0'))
print(wb.get_sheet_names())
输出结果:
3.对单元格进行写操作
# 指定某个单元格
sheet['A1'] = 'Hello python'
print(sheet['A1'].value)
# 用for循环赋值,从第1-39行,赋值数字0-16
ws1 = wb.create_sheet('range names')
for row in range(1, 40): # 1-39
ws1.append(range(17)) # 0-16
# 数据放在List中,用for循环赋值
ws2 = wb.create_sheet('List')
rows = [
['Number', 'Batch 1', 'Batch 2'],
[2, 40, 30],
[3, 40, 25],
[4, 50, 30],
[5, 30, 10],
[6, 40, 30],
[7, 78, 52]
]
for row in rows:
ws2.append(row)
# 从第5-29行,第15-53列,赋值对应的列字母
ws3 = wb.create_sheet(title='Data')
for row in range(5, 30):
for col in range(15, 54):
ws3.cell(column=col, row=row, value=get_column_letter(col))
print(ws3['AA10'].value)
4.保存文件
# 保存文件,不调用save就不会进行保存;
# 注意:当你打开文件时用"openpyxl.load_workbook('example2.xlsx')",在最后保存时要改一个新的名字,不然就会覆盖原本的文件
wb.save('example3.xlsx')
结合第3、4点,程序运行结果:
以上为个人笔记,参考课程:【用Python处理Excel数据,中文全基础系列教程】_哔哩哔哩_bilibili