简介

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

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

官网

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

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

2、点击“文档”

3、点击“安装说明”

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

环境准备

1、以下是小编环境是:

操作系统:win10

python环境:python3.7

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

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

python对Excel的基本操作

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

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

3、实例1

(1)Excel内容

(2)代码实现

(3)运行结果

(4)参考代码1

 # coding=utf-
# .先设置编码,utf-8可支持中英文,如上,一般放在第一行 # .注释:包括记录创建时间,创建人,项目名称。
'''
Created on --
@author: 北京-宏哥
Project:学习和使用python读取Excel
'''
# .导入模块
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()[]
nrows = table.nrows
ncols = table.ncols
print(u"表数据行列为(%d, %d)" % (nrows, ncols))
# 循环读取数据
for i in range(, nrows):
rowValues = table.row_values(i) # 按行读取数据
# 输出读取的数据
for data in rowValues:
print(data, " ",)
print("")

4、参考代码2

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

5、以上代码运行结果

Excel存放数据(参数)

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

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

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

2、封装好的代码如下:

3、运行结果

小结

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

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

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

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

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

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

python接口自动化(三十七)-封装与调用--读取excel 数据(详解)的更多相关文章

  1. python接口自动化(二十三)--unittest断言——上(详解)

    简介 在测试用例中,执行完测试用例后,最后一步是判断测试结果是 pass 还是 fail,自动化测试脚本里面一般把这种生成测试结果的方法称为断言(assert).用 unittest 组件测试用例的时 ...

  2. python接口自动化(十九)--Json 数据处理---实战(详解)

    简介 上一篇说了关于json数据处理,是为了断言方便,这篇就带各位小伙伴实战一下.首先捋一下思路,然后根据思路一步一步的去实现和实战,不要一开始就盲目的动手和无头苍蝇一样到处乱撞,撞得头破血流后而放弃 ...

  3. python接口自动化(十三)--cookie绕过验证码登录(详解)

    简介 有些登录的接口会有验证码:短信验证码,图形验证码等,这种登录的话验证码参数可以从后台获取的(或者查数据库最直接).获取不到也没关系,可以通过添加cookie的方式绕过验证码.(注意:并不是所有的 ...

  4. python接口自动化(十七)--Json 数据处理---一次爬坑记(详解)

    简介 有些 post 的请求参数是 json 格式的,这个前面发送post 请求里面提到过,需要导入 json模块处理.现在企业公司一般常见的接口因为json数据容易处理,所以绝大多数返回数据也是 j ...

  5. python接口自动化三(登录绕开验证码及发帖)

    前言 有些登录的接口会有验证码:短信验证码,图形验证码等,这种登录的话验证码参数可以从后台获取的(或者查数据库最直接). 获取不到也没关系,可以通过添加cookie的方式绕过验证码. 但是这里需要明确 ...

  6. python接口自动化(十)--post请求四种传送正文方式(详解)

    简介 post请求我在python接口自动化(八)--发送post请求的接口(详解)已经讲过一部分了,主要是发送一些较长的数据,还有就是数据比较安全等.我们要知道post请求四种传送正文方式首先需要先 ...

  7. python接口自动化-参数化

    原文地址https://www.cnblogs.com/yoyoketang/p/6891710.html python接口自动化 -参数关联(一)https://www.cnblogs.com/11 ...

  8. python接口自动化1-发送get请求

    前言 requests模块,也就是老污龟,为啥叫它老污龟呢,因为这个官网上的logo就是这只污龟,接下来就是学习它了. 一.环境安装 1.用pip安装requests模块 >>pip in ...

  9. python接口自动化8-参数化

    前言 前面一篇实现了参数的关联,那种只是记流水账的完成功能,不便于维护,也没什么可读性,接下来这篇可以把每一个动作写成一个函数,这样更方便了. 参数化的思维只需记住一点:不要写死 (由于博客园登录机制 ...

随机推荐

  1. vue 路由组件不重新加载

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  2. HDU 5336 XYZ and Drops 2015 Multi-University Training Contest 4 1010

    这题的题意是给你一幅图,图里面有水滴.每一个水滴都有质量,然后再给你一个起点,他会在一開始的时候向四周发射4个小水滴,假设小水滴撞上水滴,那么他们会融合,假设质量大于4了,那么就会爆炸,向四周射出质量 ...

  3. 2014年辛星解读css第五节

    本小节我们解说css中的"盒模型".即"box model",它通经常使用于在布局的时候使用,这个"盒模型"也有人成为"框模型&q ...

  4. 查看客户端java日志

    通过 Java 控制面板启用 Java 控制台 Windows 8 使用搜索来查找控制面板 按 Windows 徽标键 + W 以打开搜索框来搜索设置,或者将鼠标指针拖动到屏幕的右下角,然后单击搜索图 ...

  5. Part of defining a topology is specifying for each bolt which streams it should receive as input

    http://storm.apache.org/ [doing for realtime processing what Hadoop did for batch processing ] Apach ...

  6. 【bzoj2809】dispatching

    这题的最优解法是可并堆,从上往下合并及删点,标准的O(nlogn)解法. 为了练习主席树,特用主席树写一发,可以按dfs序建立主席树,对每个子树进行查询. 总时间5232毫秒,要垫底了... 看来需要 ...

  7. [RK3288][Android6.0] 调试笔记 --- eMMC分区号和名字的对应【转】

    本文转载自:http://blog.csdn.net/kris_fei/article/details/77318410 Platform: Rockchip OS: Android 6.0 Kern ...

  8. HDU1873 看病要排队 —— 优先队列(STL)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1873 题解: 题目已经说出了解题方法:优先队列.但是之前没有学过优先队列,而且这题还是在现场赛做的.由 ...

  9. Redis集群与事务

    redis集群对象JedisCluster不支持事务,但是,集群里面的每个节点支持事务 但是可以用第三方呀 启动下,然后看看事务问题: /usr/local/redis/bin/redis-serve ...

  10. discuz邮箱注册激活||腾讯企业邮箱免费注册及登录方法

    如何申请免费的企业邮箱,如果拥有了网站,还能有一个免费的域名邮箱,是不是很拉风呢?对于还没有注册企业的用户来说,优先使用企业邮箱,是非常好的事呢. 腾讯邮箱现在开放免费的企业邮箱注册,效果要比个人邮箱 ...