简介

  在进行软件接口测试或设计自动化测试框架时,一个不比可避免的过程就是: 参数化,在利用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. tween用户使用指南

    tween.js user guide tween.js用户指南 1.What is a tween? How do they work? Why do you want to use them? 一 ...

  2. Chisel辅助iOS 应用程序调试,MusicApp模仿酷狗4.0 UI框架

    本文转载至 http://www.cocoachina.com/ios/20140825/9446.html Chisel Chisel集合了大量的LLDB 命令来辅助iOS 应用程序调试,并支持添 ...

  3. php 实现简单加入购物车

    今天在练习购物车以及提交订单,写的有点头晕,顺便也整理一下,这个购物车相对来说比较简单,用于短暂存储,并没有存储到数据库, 购物车对于爱网购的人来说简直是熟悉的不能再熟悉了,在写购物车之前,我们首先要 ...

  4. 我读过的最好的epoll讲解

        首先我们来定义流的概念,一个流可以是文件,socket,pipe等等可以进行I/O操作的内核对象.     不管是文件,还是套接字,还是管道,我们都可以把他们看作流.     之后我们来讨论I ...

  5. EasyDarwin开源流媒体服务器高性能设计之无锁队列

    本文来自EasyDarwin团队Fantasy(fantasy(at)easydarwin.org) 一. EasyDarwin任务队列实现 EasyDarwin的任务队列是通过OSQueue类来组织 ...

  6. wepy原理研究

    像VUE一样写微信小程序-深入研究wepy框架 https://zhuanlan.zhihu.com/p/28700207 wepy原理研究 虽然wepy提升了小程序开发体验,但毕竟最终要运行在小程序 ...

  7. Go怎么获取当前时间? Go ARM64 vDSO优化之路

    https://mzh.io/ Go ARM64 vDSO优化之路 2018-03-16  | Meng Zhuo 背景 Go怎么获取当前时间?问一个会Go的程序员,他随手就能写这个出来给你. imp ...

  8. pexpect库学习之包装类详解

    在pexpect库中,包装类的构造参数使用的命令或者要包装命令的提示符,还可以通过这个包装类来修改命令的提示符,那么所谓的包装类实际就是用于给用户交互相应的子命令,它的实例方法主要是“run_comm ...

  9. Machine Learning in Action(6) AdaBoost算法

    Adaboost也是一种原理简单,但很实用的有监督机器学习算法,它是daptive boosting的简称.说到boosting算法,就不得提一提bagging算法,他们两个都是把一些弱分类器组合起来 ...

  10. charles刷分微信跳一跳小程序对https的理解

    以前以为只要安装了https 客户端与服务端的数据会被加密就安全了 事实上 只要任意一款抓包工具 并伪造证书  就可以解密这个被所谓https加密的数据 如  可以下载charles的根证书  作为伪 ...