假设一个名叫“模板”的excel表格里有四个sheet,名字分别是['平台', '制冷', '洗衣机', '空调']
1、读取
from openpyxl import load_workbook
namelists=['平台', '制冷', '洗衣机', '空调']#4个sheet的名字,也可以通过pd来获取
wb = load_workbook("模板.xlsx")#使用openpyxl读取xlsx文件,创建workbook
显示有多少张sheet
print(wb.sheetnames)
['平台', '制冷', '洗衣机', '空调']
读取sheet的单元格
ws=wb['平台']
ws.cell(row=1, column=3).value #C1单元格的值为“小微”
'小微'
读取多个sheet的单元格
for i in wb.sheetnames:
ws=wb[i]
ws.cell(row=1, column=3).value #遍历所有的sheet,读取每个sheet的C1单元格的值
print(ws.max_row) #表行数
print(ws.max_column) #表列数
16
19
2、写入数据到sheet的单元格,写完一定要保存,使用文件后要关闭
ws=wb['平台']
ws.cell(row=5, column=4).value="hello" #D5单元格写入hello
for i in range(5,10):
for j in range(5,10):
ws.cell(row=i, column=j).value=1 #"E1:I9"单元格写入数字1
wb.save("1.xlsx")#保存
wb.close()#关闭
写入多个sheet的单元格
wb = load_workbook("模板.xlsx")
for i in wb.sheetnames:
ws=wb[i]
ws.cell(row=1, column=3).value=1 #遍历所有的sheet,把每个sheet的C1单元格的值改为1
wb.save("1.xlsx")#保存
wb.close()#关闭