python接口自动化(三十七)-封装与调用--读取excel 数据(详解)

简介: 在进行软件接口测试或设计自动化测试框架时,一个不比可避免的过程就是: 参数化,在利用python进行自动化测试开发时,通常会使用excel来做数据管理,利用xlrd、xlwt开源包来读写excel。例如:当我们登录的账号有多个的时候,我们一般用excel 存放测试数据,本篇文章介绍,python 读取excel 方法,并保存为字典格式。

简介



在进行软件接口测试或设计自动化测试框架时,一个不比可避免的过程就是: 参数化,在利用python进行自动化测试开发时,通常会使用excel来做数据管理,利用xlrd、xlwt开源包来读写excel。例如:当我们登录的账号有多个的时候,我们一般用

excel 存放测试数据,本篇文章介绍,python 读取excel 方法,并保存为字典格式。


官网



通过官网来查看如何使用python读取Excel,python excel官网: http://www.python-excel.org/


1、以下是翻译后的官网文档:


1232840-20190520100216229-654332433.png


2、点击“文档”


1232840-20190520101235338-1741101075.png

 

3、点击“安装说明”


1232840-20190520101341406-591577215.png


4、根据以上安装说明,进行准备


1232840-20190520101128682-1547343429.png


环境准备



1、以下是小编环境是:


操作系统:win10


1232840-20190520100750779-682148014.png

 

python环境:python3.7

1232840-20190520100827606-641939549.png


2、根据官方文档先安装 xlrd 模块,打开 cmd,输入 pip install xlrd 在线安装


1232840-20190520101716394-1200765055.png


3、出现红色圈的内容表示xlrd安装成功

1232840-20190520101526671-146997712.png


python对Excel的基本操作



1、打开电子表格文件以进行数据提取,官方文档API


1232840-20190520104040097-1372698205.png


2、通过工作表索引、名称获取内容


1232840-20190520115206531-1538743374.png


3、实例1


(1)Excel内容


1232840-20190520114847460-1403913047.png


(2)代码实现


1232840-20190520115325724-1081420078.png


(3)运行结果


1232840-20190520115410974-1958472211.png


(4)参考代码1


# coding=utf-8
 # 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行
 # 2.注释:包括记录创建时间,创建人,项目名称。
 '''
 Created on 2019-5-20
  @author: 北京-宏哥
  Project:学习和使用python读取Excel
  '''
 # 3.导入模块
 import xlrd
 if __name__ == '__main__':
     # excel文件全路径
     xlPath = "C:\\Users\\DELL\\Desktop\\test.xlsx"
     # 用于读取excel
    xlBook = xlrd.open_workbook(xlPath)
     # 获取excel工作簿数
     count = len(xlBook.sheets())
     print(u"工作簿数为:  ", count)
     # 获取 表 数据的行列数
     table = xlBook.sheets()[0]
    nrows = table.nrows
    ncols = table.ncols
     print(u"表数据行列为(%d, %d)" % (nrows, ncols))
     # 循环读取数据
     for i in range(0, nrows):
         rowValues = table.row_values(i)  # 按行读取数据
         # 输出读取的数据
         for data in rowValues:
             print(data, " ",)
       print("")

4、参考代码2


# coding=utf-8
 # 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行
  # 2.注释:包括记录创建时间,创建人,项目名称。
'''
 Created on 2019-5-20
  @author: 北京-宏哥
  Project:学习和使用python读取Excel
  '''
 # 3.导入模块
 import xlrd
 if __name__ == '__main__':
     # 打开 exlce 表格,参数是文件路径
     data = xlrd.open_workbook('C:\\Users\\DELL\\Desktop\\test.xlsx')
     # table = data.sheets()[0] # 通过索引顺序获取
     # table = data.sheet_by_index(0) # 通过索引顺序获取
     table = data.sheet_by_name(u'Sheet1')  # 通过名称获取
     nrows = table.nrows  # 获取总行数
     ncols = table.ncols  # 获取总列数
     # 获取一行或一列的值,参数是第几行
     print(table.row_values(0)) # 获取第一行值
     print(table.col_values(0)) # 获取第一列值


5、以上代码运行结果


1232840-20190520131225877-1308365306.png


Excel存放数据(参数)


1、在 excel 中存放数据,第一行为标题,也就是对应字典里面的 key 值,如登录的参数:username,password


1232840-20190520131844228-1459931335.png


封装读取参数或者数据方法



1、最终读取的数据是多个字典的 list 类型数据,第一行数据就是字典里的 key 值,从第二行开始一一对应 value 值


2、封装好的代码如下:


1232840-20190520145620750-1184782622.png


3、运行结果


1232840-20190520145648605-1397316611.png


小结



1、在安装xlrd模块的时候后边,还有一些黄色的警告,小伙伴们不需要的担心,翻译看一下,是需要更新pip


1232840-20190520110017114-824605163.png


2、将提示的命令选中后,回车,另起一行粘贴,运行即可将pip更新到最新版本


1232840-20190520110228385-1871871858.png


3、小伙伴们可能发现在运行结果的显示:只有出现数字就会有个.0,解决办法:

  

如果 excel 数据中有纯数字的一定要右键》设置单元格格式》文本格式,要不然读取的数据是浮点数(先设置单元格格式后编辑,编辑成功左上角有个小三角图标)



1232840-20190520150229108-1392186232.png

  

修改单元格式,运行代码结果:可以清楚看到.0没有了


1232840-20190520150333063-1584747590.png


4、好了关于python读取Excel的内容,就先讲解到这个,有兴趣可以看其官方文档对表格进行合并、样式设置等等系列动作!!!


相关文章
|
16天前
|
API Python
【02】优雅草央央逆向技术篇之逆向接口协议篇-以小红书为例-python逆向小红书将用户名转换获得为uid-优雅草央千澈
【02】优雅草央央逆向技术篇之逆向接口协议篇-以小红书为例-python逆向小红书将用户名转换获得为uid-优雅草央千澈
|
1月前
|
搜索推荐 Python
使用Python自动化生成物业通知单
本文介绍如何使用Python结合Pandas和python-docx库自动化生成物业通知单。通过读取Excel数据并填充至Word模板,实现高效准确的通知单批量制作。包括环境准备、代码解析及效果展示,适用于物业管理场景。
72 14
|
1月前
|
数据采集 数据可视化 数据挖掘
利用Python自动化处理Excel数据:从基础到进阶####
本文旨在为读者提供一个全面的指南,通过Python编程语言实现Excel数据的自动化处理。无论你是初学者还是有经验的开发者,本文都将帮助你掌握Pandas和openpyxl这两个强大的库,从而提升数据处理的效率和准确性。我们将从环境设置开始,逐步深入到数据读取、清洗、分析和可视化等各个环节,最终实现一个实际的自动化项目案例。 ####
188 10
|
27天前
|
Python
自动化微信朋友圈:Python脚本实现自动发布动态
本文介绍如何使用Python脚本自动化发布微信朋友圈动态,节省手动输入的时间。主要依赖`pyautogui`、`time`、`pyperclip`等库,通过模拟鼠标和键盘操作实现自动发布。代码涵盖打开微信、定位朋友圈、准备输入框、模拟打字等功能。虽然该方法能提高效率,但需注意可能违反微信使用条款,存在风险。定期更新脚本以适应微信界面变化也很重要。
144 61
|
8天前
|
机器学习/深度学习 运维 数据可视化
Python时间序列分析:使用TSFresh进行自动化特征提取
TSFresh 是一个专门用于时间序列数据特征自动提取的框架,支持分类、回归和异常检测等机器学习任务。它通过自动化特征工程流程,处理数百个统计特征(如均值、方差、自相关性等),并通过假设检验筛选显著特征,提升分析效率。TSFresh 支持单变量和多变量时间序列数据,能够与 scikit-learn 等库无缝集成,适用于大规模时间序列数据的特征提取与模型训练。其工作流程包括数据格式转换、特征提取和选择,并提供可视化工具帮助理解特征分布及与目标变量的关系。
50 16
Python时间序列分析:使用TSFresh进行自动化特征提取
|
18天前
|
存储 安全 数据可视化
用Python实现简单的任务自动化
本文介绍如何使用Python实现任务自动化,提高效率和准确性。通过三个实用案例展示:1. 使用`smtplib`和`schedule`库自动发送邮件提醒;2. 利用`shutil`和`os`库自动备份文件;3. 借助`requests`库自动下载网页内容。每个案例包含详细代码和解释,并附带注意事项。掌握这些技能有助于个人和企业优化流程、节约成本。
51 3
|
29天前
|
存储 Java easyexcel
招行面试:100万级别数据的Excel,如何秒级导入到数据库?
本文由40岁老架构师尼恩撰写,分享了应对招商银行Java后端面试绝命12题的经验。文章详细介绍了如何通过系统化准备,在面试中展示强大的技术实力。针对百万级数据的Excel导入难题,尼恩推荐使用阿里巴巴开源的EasyExcel框架,并结合高性能分片读取、Disruptor队列缓冲和高并发批量写入的架构方案,实现高效的数据处理。此外,文章还提供了完整的代码示例和配置说明,帮助读者快速掌握相关技能。建议读者参考《尼恩Java面试宝典PDF》进行系统化刷题,提升面试竞争力。关注公众号【技术自由圈】可获取更多技术资源和指导。
|
1月前
|
JSON 数据可视化 测试技术
python+requests接口自动化框架的实现
通过以上步骤,我们构建了一个基本的Python+Requests接口自动化测试框架。这个框架具有良好的扩展性,可以根据实际需求进行功能扩展和优化。它不仅能提高测试效率,还能保证接口的稳定性和可靠性,为软件质量提供有力保障。
78 7
|
1月前
|
分布式计算 大数据 数据处理
技术评测:MaxCompute MaxFrame——阿里云自研分布式计算框架的Python编程接口
随着大数据和人工智能技术的发展,数据处理的需求日益增长。阿里云推出的MaxCompute MaxFrame(简称“MaxFrame”)是一个专为Python开发者设计的分布式计算框架,它不仅支持Python编程接口,还能直接利用MaxCompute的云原生大数据计算资源和服务。本文将通过一系列最佳实践测评,探讨MaxFrame在分布式Pandas处理以及大语言模型数据处理场景中的表现,并分析其在实际工作中的应用潜力。
88 2
|
1月前
|
数据采集 存储 API
利用Python爬虫获取1688关键词接口全攻略
本文介绍如何使用Python爬虫技术合法合规地获取1688关键词接口数据,包括环境准备、注册1688开发者账号、获取Access Token、构建请求URL、发送API请求、解析HTML及数据处理存储等步骤,强调遵守法律法规和合理使用爬虫技术的重要性。

热门文章

最新文章