赞
踩
2、使用openpyxl库:不支持的 .xls格式,支持的格式:.xlsx、.xlsm、.xltx、.xltm,可以将.xls 转化为 xlsx格式
- 安装openpyxl,使用 pip install openpyxl
- 导入:import | from openpyxl import xxx
1、读取单元格数据
实战演练:
excel表格如下:
代码实战:
from openpyxl import load_workbook import pathlib # 获取excel的相对路径 cur_path = pathlib.Path(__file__).absolute() excel_path = cur_path.parent/"testcase64.xlsx" # 第一步,获取表格的工作簿对象 wb = load_workbook(excel_path) print(wb) # <openpyxl.workbook.workbook.Workbook object at 0x03EFCD60> # 第二步,得到表单——sheet sheet = wb["login"] print(sheet) # 第三步,获取单元格数据 cell = sheet.cell(row=1,column=3) print(cell) # 第四步,获取单元格数据 -- value cell_value = sheet.cell(row=2,column=2).value print(cell_value) # 输出:登录正常 # 获取表单中所有的数据 -- 转化为列表 # 因为 sheet.values的输出是“<generator object Worksheet.values at 0x03817840” > 就是一个生成器,可以转化为列表的形式 datas = list(sheet.values) print(datas) # 是一个列表,每一个数据都是元组 ''' [ ('id', 'title', 'method', 'header', 'url', 'data', 'expected'), (1, '登录正常', 'post', '{"Content-Type":"application/json"}', 'https://openapiv5.ketangpai.com//UserApi/login', '{"email":"2378807189@qq.com ","password":"lemon123456 ","remember":"0","code":"","mobile":"","type":"login","reqtimestamp":1695045752424}', '{"status":1,"code":10000,"message":"访问成功","data":{"token":"skjdaskjhd"}'), (2, '登录异常', 'post', '{"Content-Type":"application/json"}', 'https://openapiv6.ketangpai.com//UserApi/login', '{"email":"2378807189@qq.com ","password":"lemon","remember":"0","code":"","mobile":"","type":"login","reqtimestamp":1695045752424}', '{"status":0,"code":"30508","message":"登录失败"}') ] ''' ''' 全部读取的数据转化为项目里需要的格式数据 ''' # 第一步,取出标题 title = datas[0] # 第二步,再一次获取后续的每一行数据,跟title压缩成字典 case_list = [] for case in datas[1:]: case_dict = dict(zip(title,case)) case_list.append(case_dict) print(case_list) # 通过列表推导式来遍历 case_list1 = [] case_list1 = [case_list1.append(dict(zip(title,case))) for case in datas] print(case_list)
优化思路,代码分层思想:按照不同的功能代码进行不同包的管理(自动化框架的结构):
优化实战:
1、按照分层思想,新建data层和tools层,并完善其中的文件,参考如下图片:
2、将获取excel_path和获取数据的方式分别写到handle_excel文件和handle_path两个文件中,如下:
''' handle_excel文件 **自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。** **深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!** **因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。** ![img](https://img-blog.csdnimg.cn/img_convert/2a08800cbc5d58a76d50921f3fa67c72.png) ![img](https://img-blog.csdnimg.cn/img_convert/0fac3998b1e0be09a1c42ca85776d0b8.png) ![img](https://img-blog.csdnimg.cn/img_convert/2fc5023a32f24471788d120138a70f89.png) ![img](https://img-blog.csdnimg.cn/img_convert/d056702026bc53c2728988fa271a0b9f.png) ![img](https://img-blog.csdnimg.cn/img_convert/6c361282296f86381401c05e862fe4e9.png) ![img](https://img-blog.csdnimg.cn/img_convert/9f49b566129f47b8a67243c1008edf79.png) **既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!** **由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新** **如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注Python)** 了95%以上前端开发知识点,真正体系化!** **由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新** **如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注Python)** <img src="https://img-community.csdnimg.cn/images/fd6ebf0d450a4dbea7428752dc7ffd34.jpg" alt="img" style="zoom:50%;" />
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。