2021自动化测试Python处理Excel小技巧【温故知新】

2021自动化测试Python处理Excel小技巧【温故知新】

2023年6月29日发(作者:)

2021⾃动化测试Python处理Excel⼩技巧【温故知新】 “在⾃动化测试,尤其是接⼝⾃动化测试中,我们经常使⽤Excel做为数据驱动,那么如何快速的操作Excel呢?这⾥简单介绍⼏种常⽤的第三⽅库”

⼀.操作excel第三⽅模块库xlrdxlwtxlutilsopenpyxl⼆.使⽤xlrd读取excel⽂件1.安装windows:pip install xlrdmac:pip3 install xlrd2.具体代码import osimport xlrdimport xlwtdef read_excel(): # 获取excel base_dir = e(h(__file__)) testdata = base_dir + '/../testcases/' # 打开xls⽂件 data = _workbook(testdata) # 打开第⼀张表 table = ()[0] nrows = # 获取表的⾏数 for i in range(nrows): if i == 0:# 跳过⾸⾏,⾸⾏为title continue print (_values(i))if __name__ == '__main__': read_excel()3.运⾏结果[1.0, '登录成功获取token', 'SIT', '/admin/token', 'post', '{n"json":{"password":"1234","username":mrjade"}n}', 200.0, 'json', '[["token","$.."]]',

[2.0, '注册', 'SIT', '/admin/register', 'post', '{n"json":{"password":"1234","username":mrjade"}n}', 200.0, 'json', '', '', '']4.注意:xlrd只能读取excel,不能进⾏其它操作,且xlrd只能操作后缀为.xls的⽂件,如果操作后缀为.xlsx的⽂件,则会抛出异常Traceback (most recent call last): File "/Users/TesterRoad/Documents/python/", line 27, in read_excel() File "/Users/TesterRoad/Documents/python/", line 17, in read_excel data = _workbook(testdata) File "/Library/Frameworks/ork/Versions/3.9/lib/python3.9/site-packages/xlrd/__init__.py", line 170, in open_workbook raise XLRDError(FILE_FORMAT_DESCRIPTIONS[file_format]+'; not supported')ror: Excel xlsx file; not supported三.使⽤xlwt写⼊⽂件1.安装windows:pip install xlwtmac:pip3 install xlwt2.具体代码def write_excel(): wbk = ok() # sheet表取名为order sheet = _sheet('order') # 将每⾏数据放到⼀个元组中,将所有数据放到⼀个list中,写⼊excel # 遍历数组(excel⾏数据) for i in range(len(testdata)): print(testdata[i]) # 遍历数组中的元组(⾏单元格数据) for j in range(len(testdata[i])): # 将数据写⼊excel,i表⽰第⼏⾏,j表⽰单元格 (i,j,testdata[i][j]) # excel保存⽬录 base_dir = e(h(__file__)) save_testdata = base_dir + '/../testcases/' # 保存 (save_testdata)if __name__ == '__main__': write_excel() testdata = [('id', 'title', 'env', 'url', 'method', 'request_data', 'status_code', 'res_type', 'extract', 'expect_data', 'sql'),('1', '登录成功获取token', 'SIT', 'test-mrja3.运⾏结果4.需要注意的是xlwt是不能对excel中数据做修改操作的四.使⽤xlutils修改excel数据1.安装windows:pip install xlutilsmac:pip3 install xlutils2.具体代码from import copydef edit_excel(): # excel⽬录 base_dir = e(h(__file__)) save_testdata = base_dir + '/../testcases/' # 打开excel workbook = _workbook(save_testdata) workbooknew = copy(workbook) ws = _sheet(0) # 将第3⾏,第2列修改为注册成功 (2, 1, '注册成功') # 保存修改后的excel (save_testdata)if __name__ == '__main__': edit_excel()3.运⾏结果 五.使⽤openpyxl修改excel数据(墙列推荐)1.安装windows:pip install openpyxlmac:pip3 install openpyxl2.具体代码from openpyxl import load_workbookdef useopenpyxl_edit_excel(): # excel⽬录 base_dir = e(h(__file__)) save_testdata = base_dir + '/../testcases/' # 打开excel workbook = load_workbook(save_testdata) # 获取sheet ws = workbook["member"] print(ws) # 创建⼀个列表容器存放数据 data = [] # 将所有⾏数据转换成list row_list = list() print("row_list:",row_list) # 获取表头 excel_title = row_list[0] print("获取表头:",excel_title) title_list = [] i = 1; for row in excel_title: print("第1⾏第"+str(i)+"个单元格数据:",) # 将获取的表头数据存放在list中 title_() i += 1 print("表头字段:",title_list) # 5. 获取其他数据 for row in row_list[1:]: cell_list = [] # 获取每⼀个⾏数据 for cell in row: # print() cell_() print("除表头外的数据:",cell_list) # 将表头与这⼀⾏数据打包,转换成字典 print(dict(zip(title_list,cell_list)))if __name__ == '__main__': useopenpyxl_edit_excel()3.运⾏结果row_list: [(, , , , , , ,

表头字段: ['id', 'title', 'env', 'url', 'method', 'request_data', 'status_code', 'res_type', 'extract', 'expect_data', 'sql']获取表头: (, , , , , , , useopenpyxl_edit_excel() File "/Users/TesterRoad/Documents/python/", line 66, in useopenpyxl_edit_excel workbook = load_workbook(save_testdata) File "/Library/Frameworks/ork/Versions/3.9/lib/python3.9/site-packages/openpyxl/reader/", line 315, in load_workbook reader = ExcelReader(filename, read_only, keep_vba, File "/Library/Frameworks/ork/Versions/3.9/lib/python3.9/site-packages/openpyxl/reader/", line 124, in __init__ e = _validate_archive(fn) File "/Library/Frameworks/ork/Versions/3.9/lib/python3.9/site-packages/openpyxl/reader/", line 94, in _validate_archive raise InvalidFileException(msg)dFileException: openpyxl does not support the old .xls file format, please use xlrd to read this file, or convert it to the more recent .xProcess finished with exit code 1下⾯是配套资料,对于做【软件测试】的朋友来说应该是最全⾯最完整的备战仓库,这个仓库也陪伴我⾛过了最艰难的路程,希望也能帮助到你!最后: 可以在公众号:程序员⼩濠 ! 免费领取⼀份216页软件测试⼯程师⾯试宝典⽂档资料。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联⽹程序原理、Mysql数据库、抓包⼯具专题、接⼝测试⼯具、测试进阶-Python编程、Web⾃动化测试、APP⾃动化测试、接⼝⾃动化测试、测试⾼级持续集成、测试架构开发测试框架、性能测试、安全测试等。如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” ⼀键三连哦!喜欢软件测试的⼩伙伴们,可以加⼊我们的测试技术交流扣扣群:310357728⾥⾯有各种软件测试资源和技术讨论)

发布者:admin,转转请注明出处:http://www.yc00.com/web/1688020508a67385.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信