用OpenPyXL处理Excel表格 - 向sheet读取、写入数据

假设一个名叫“模板”的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()#关闭
posted @ 2020-05-20 00:48  永恒君  阅读(11786)  评论(0编辑  收藏  举报