• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

基于Python的接口自动化读写excel文件的方法

python 搞代码 4年前 (2022-01-09) 17次浏览 已收录 0个评论
文章目录[隐藏]

引言

使用python进行接口测试时常常需要接口用例测试数据、断言接口功能、验证接口响应状态等,如果大量的接口测试用例脚本都将接口测试用例数据写在脚本文件中,这样写出来整个接口测试用例脚本代码将看起来很冗余和难以清晰的阅读以及维护,试想如果所有的接口测试数据都写在代码中,接口参数或者测试数据需要修改,那不得每个代码文件都要一一改动?。因此,这种不高效的模式不是我们想要的。所以,在自动化测试中就有个重要的思想:测试数据和测试脚本分离,也就是测试脚本只有一份,其中需要输入数据的地方会用变量来代替,然后把测试输入数据单独放在一个文件中,这个存放测试输入数据的文件,通常是表格的形式或者其他格式文件,如excel文件、json文件、xml文件、txt文本文件等等。在python进行接口自动化测试时,为了方便管理和存储测试用例数据,一般将测试数据编写存储在excel文件中,测试脚本通过读取excel文件来实现测试数据加载,并运行得出测试用例数据执行的结果,并回写测试结果到excel文件中,这样就实现了测试脚本和数据的分离。而python操作excel文件的读写,这里需要安装并引入第三方模块:xlrd和xlwt以及xlutils,xlrd为读取excel模块,xlwt为向excel写数据的模块,xlutils可以复制excel并修改excel中的数据。下面就具体介绍xlrd和xlwt操作excel文件提供的通用方法和技巧,以及xlutils如何复制和修改excel,达到操作excel读写的目的。

一、xlrd、xlwt以及xlutils安装

1.使用pip安装

pip install xlrd
pip install xlwt
pip install xlutils

2.在PyCharm中安装

直接检索需要安装的模块名称即可,如xlrd:

二、xlrd操作excel文件的数据读取

新建一个excel文件,文件名称:excel_test.xlsx,文件编辑有两个sheet表,内容如下:

sheet1:

sheet2:

(1)打开excel文件,获取excel的sheet名

编辑如下代码:

import xlrd
file = xlrd.open_workbook("excel_test.xlsx")
all_sheet = file.sheet_names() # 获取所有的工作簿名
sheet_name1 = file.sheet_names()[0] # 通过sheet下标获取,第一个sheet下标为0
sheet_name2 = file.sheet_by_index(0).name # 通过sheet索引获取sheet名
print(all_sheet)
print(sheet_name1)
print(sheet_name2)
-----------------------------------------
# 返回结果
['员工信息表', 'api测试用例']
员工信息表
员工信息表

(2)获取sheet工作表页的对象

代码示例:

import xlrd
file = xlrd.open_workbook("excel_test.xlsx")
sheet_name1 = file.sheet_names()[0]
sheet1_obj = file.sheet_by_name(sheet_name1) # 通过sheet名获取sheet对象
sheet2_obj = file.sheet_by_index(1) # 通过sheet索引获取sheet对象
print(sheet1_obj)
print(sheet2_obj)
------------------------------------
# 返回结果
<xlrd.sheet.Sheet object at 0x0000000002AA09B0>
<xlrd.sheet.Sheet object at 0x0000000002AA0978>

(3)获取sheet工作表的行、列数,整行、整列数据,具体的单元格数据

代码示例:

import xlrd
file = xlrd.open_workbook("excel_test.xlsx")
sheet = file.sheet_by_index(0) # 通过sheet索引获取sheet对象
nrows = sheet.nrows # 获取行数
ncols = sheet.ncols # 获取列数
nrows_data = sheet.row_values(1) # 获取第二行数据,返回的是列表<p style="color:transparent">本文来源gao!daima.com搞$代!码网</p>
ncols_data = sheet.col_values(0) # 获取第一列数据,返回的是列表
cell = sheet.cell(1,2)  # 获取单元格数据,如第二行,第三列数据
print(nrows)
print(ncols)
print(nrows_data)
print(ncols_data)
print(cell)
-------------------------------
# 返回结果
6
5
['王五', '男', 32883.0, 'java开发工程师', 233.0]
['姓名', '王五', '李四', '张三', '小红', '小明']
xldate:32883.0 # 这里日期数据直接返回成浮点数了

搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:基于Python的接口自动化读写excel文件的方法

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址