来自PythonABC.org老师的课程很好,但是每个视频都蛮长的,听着听着就有些晕乎,所以根据视频自己整理了一下,以便记录
学习使用Python实现excel的文档写操作
import openpyxl
from openpyxl.utils import get_column_letterwb = openpyxl.Workbook()
sheet = wb.active# 修改一个sheet名称sheet.title = '测试'# 在原先sheet前,创建一个新的sheet(用index来定位),并指定sheet名称wb.create_sheet(index=0, title='测试0')
wb.create_sheet(index=1, title='测试1')
# print(wb.get_sheet_names())
print(wb.sheetnames)# 删除其中一个sheet# wb.remove(wb.get_sheet_by_name('测试1'))
wb.remove(wb['测试1'])
print(wb.sheetnames)# 保存更改后的工作簿(如不调用save()函数,则更改不被保存)wb.save('example.xlsx')# 新建sheet,直接对单个单元格赋值,实现单元格数值填充ws = wb.create_sheet(title='测试2')
ws['A1'] = 'hello python'
print(ws["A1"].value)# 新建sheet,用行遍历实现,整行填充序列ws1 = wb.create_sheet('测试3')
for row in range(1, 40):ws1.append(range(17))# 新建sheet,用行遍历实现,整行填充列表中元素数值(二维列表)ws2 = wb.create_sheet('测试4')
rows = [['Number', 'Batch1', 'Batch2'],[2, 40, 30],[3, 30, 45],[4, 67, 23],[5, 56, 67],[6, 35, 89],[7, 37, 83]
]
for row in rows:ws2.append(row)# 新建sheet,用行列遍历实现,单元格填充(填充列序号)ws3 = wb.create_sheet('测试5')
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'])
wb.save('example.xlsx')# 更新数据表中的某几种商品的价格信息DATA_UPDATE = {'油脂': 155,'蛋': 180,'菜': 200
}wb = openpyxl.load_workbook('分省价格数据.xlsx')
ws = wb.active# ws = wb['分省年度数据']for row in range(2, ws.max_row + 1):productName = ws.cell(row=row, column=1).valueif productName in DATA_UPDATE:ws.cell(row=row, column=2).value = DATA_UPDATE[productName]wb.save('example 1.xlsx')