基础的openpyxl知识点已经不能激发大家学习的热情了,所以今天小编整理出openpyxl在sheet中读取、写入数据的方法,需要静下心来慢慢钻研。假设一个名叫“模板”的excel表格里有四个sheet,名字分别是['平台', '制冷', '洗衣机', '空调']

1.读取
1 2 3 4 5 | <p style= "line-height: 1.75em;" ><span style= "font-family: 微软雅黑, "Microsoft YaHei";" >from openpyxl import load_workbook
namelists=[ '平台' , '制冷' , '洗衣机' , '空调' ] #4个sheet的名字,也可以通过pd来获取
wb = load_workbook( "模板.xlsx" ) #使用openpyxl读取xlsx文件,创建workbook <br></span></p>
|
显示有多少张sheet
1 | <p style= "line-height: 1.75em;" ><span style= "font-family: 微软雅黑, "Microsoft YaHei";" >print(wb.sheetnames)<br></span></p>
|
1 | <p style= "line-height: 1.75em;" ><span style= "font-family: 微软雅黑, "Microsoft YaHei";" >[ '平台' , '制冷' , '洗衣机' , '空调' ]<br></span></p>
|
读取sheet的单元格
1 2 3 | <p style= "line-height: 1.75em;" ><span style= "font-family: 微软雅黑, "Microsoft YaHei";" >ws=wb[ '平台' ]
ws.cell(row=1, column=3).value #C1单元格的值为“小微”<br></span></p>
|
1 | <p style= "line-height: 1.75em;" ><span style= "font-family: 微软雅黑, "Microsoft YaHei";" > '小微' <br></span></p>
|
读取多个sheet的单元格
1 2 3 | <p style= "line-height: 1.75em;" ><span style= "font-family: 微软雅黑, "Microsoft YaHei";" > for i in wb.sheetnames:
ws=wb[i]
ws.cell(row=1, column=3).value #遍历所有的sheet,读取每个sheet的C1单元格的值<br></span></p>
|
1 2 | <p style= "line-height: 1.75em;" ><span style= "font-family: 微软雅黑, "Microsoft YaHei";" >print(ws.max_row) #表行数
print(ws.max_column) #表列数<br></span></p>
|
1 2 | <p style= "line-height: 1.75em;" ><span style= "font-family: 微软雅黑, "Microsoft YaHei";" >16
19<br></span></p>
|
2.写入数据到sheet的单元格,写完一定要保存,使用文件后要关闭
1 2 3 | <p style= "line-height: 1.75em;" ><span style= "font-family: 微软雅黑, "Microsoft YaHei";" >ws=wb[ '平台' ]
ws.cell(row=5, column=4).value= "hello" #D5单元格写入hello<br></span></p>
|

1 2 3 4 5 6 7 | <p style= "line-height: 1.75em;" ><span style= "font-family: 微软雅黑, "Microsoft YaHei";" > 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() #关闭<br></span></p>
|

写入多个sheet的单元格
1 2 3 4 5 6 7 8 9 | <p style= "line-height: 1.75em;" ><span style= "font-family: 微软雅黑, "Microsoft YaHei";" >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() #关闭<br></span></p>
|
今天的内容略微复杂,小伙伴们可以慢慢消化学习。如需了解更多python实用知识,点击进入PyThon学习网教学中心。