Python3利用openpyxl读写Excel文件的方法实例
前言
Python中常用的操作Excel的三方包有xlrd,xlwt和openpyxl等,xlrd支持读取.xls和.xlsx格式的Excel文件,只支持读取,不支持写入。xlwt只支持写入.xls格式的文件,不支持读取。
openpyxl不支持.xls格式,但是支持.xlsx格式的读取写入,并且支持写入公式等。
原始数据文件apis.xlsx内容:
name | method | url | data | json | result |
---|---|---|---|---|---|
get接口 | get | https://httpbin.org/get?a=1&b=2 | |||
post表单接口 | post | https://httpbin.org/post | {name:Kevin,age:1} | ||
post-json接口 | post | https://httpbin.org/post | {name:Kevin,age:21} |
读取数据
读取所有数据
importopenpyxl #打开excel excel=openpyxl.load_workbook('apis.xlsx')#有路径应带上路径 #使用指定工作表 sheet=excel.active#当前激活的工作表 #sheet=excel.get_sheet_by_name('Sheet1') #读取所有数据 print(list(sheet.values))#sheet.values生成器 print(sheet.max_column)#最大列数 print(sheet.max_row)#最大行数
显示结果:
[('name','method','url','headers','data','json','result'),('get接口','get','https://httpbin.org/get?a=1&b=2',None,None,None,None),('post表单接口','post','https://httpbin.org/post','cookie:token=123','{name:Kevin,age:21}',None,None),('post-json接口','post','https://httpbin.org/post',None,None,'{name:Kevin,age:21}',None)]
7
4
按行读取
代码接上例
... #按行读取 forrowinsheet.iter_rows(min_row=1,min_col=1,max_col=3,max_row=3): print(row) #读取标题行 forrowinsheet.iter_rows(max_row=1): title_row=[cell.valueforcellinrow] print(title_row) #读取标题行以外数据 forrowinsheet.iter_rows(min_row=2): row_data=[cell.valueforcellinrow] print(row_data)
打印结果:
(
, | , | ) |
(, | , | ) |
(, | , | ) |
['name','method','url','headers','data','json','result']
['get接口','get','https://httpbin.org/get?a=1&b=2',None,None,None,None]
['post表单接口','post','https://httpbin.org/post','cookie:token=123','{name:Kevin,age:21}',None,None]
['post-json接口','post','https://httpbin.org/post',None,None,'{name:Kevin,age:21}',None]
读取单元格数据
代码接上例
... #读取单元格数据 print(sheet['A1'].value) print(sheet.cell(1,1).value)#索引从1开始
打印结果:
name
name
写入文件
代码接上例
#写入单元格 sheet['F2']='PASS' result_col=title_row.index('result')+1#'result'所在的列号 sheet.cell(3,result_col).value='PASS' #整行写入 new_row=['post-xml接口','post','https://httpbin.org/post'] sheet.append(new_row) #保存文件,也可覆盖原文件 excel.save("apis2.xlsx")
写入结果:
name | method | url | data | json | result |
---|---|---|---|---|---|
get接口 | get | https://httpbin.org/get?a=1&b=2 | PASS | ||
post表单接口 | post | https://httpbin.org/post | {name:Kevin,age:1} | PASS | |
post-json接口 | post | https://httpbin.org/post | {name:Kevin,age:21} | ||
post-xml接口 | post | https://httpbin.org/post |
更多操作可参考官方文档:https://openpyxl.readthedocs.io/en/stable/
总结
到此这篇关于Python3利用openpyxl读写Excel文件的文章就介绍到这了,更多相关Python3用openpyxl读写Excel文件内容请搜索毛票票以前的文章或继续浏览下面的相关文章希望大家以后多多支持毛票票!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。