本文是为难得干货文章

(是位大佬所写哦)

大家好,我是测试君。

下面分享一波Python接口自动化文章:

本篇是使用xlrd实现的对excel的数据进行读取,xlrd网上demo很多,不做过多叙述,下面主要讲解封装的思路:
首先贴出测试用的excel表格

1、实现获取excel某张表的行数、单元格数据

#coding=utf-8  import xlrd  
#获取excel文件  
data = xlrd.open_workbook('file_path/xxx.xls')  
#获取第一张表数据  
tables = data.sheets()[0]  
#打印表行数  
print(tables.nrows)  
#打印第4行,第3列单元格数据  
print(tables.cell_value(3,2))

打印结果

2、封装获取表格方法

此方法需要实现的作用是:其他方法再调用此方法时,如果传入file_name和sheet_id,就调用对应路径的excel文件和对应的表。如果不传这两个字段,就调用默认表格。

def __init__(self,file_name=None,sheet_id=None):  if file_name:  
           self.file_name = file_name  
           self.sheet_id = sheet_id  else:  
           self.file_name = 'file_path/xxx.xls'  
           self.sheet_id = 0  
       self.data = self.get_data()

3、封装获取表格数据方法

封装获取tables的方法,用以之后获取单元格行数、单元格数据,或其他表信息使用。

   def get_data(self):  
       data = xlrd.open_workbook(self.file_name)  
       tables = data.sheets()[self.sheet_id]  return tables

4、封装获取单元格行数方法

   def get_lines(self):  
       tables = self.data  return tables.nrows

5、封装获取单元格数据的方法

   def get_value(self,row,col):  return self.data.cell_value(row,col)

到这里,就封装完成了,然后可以调用试一下:

if __name__ == '__main__':  
    opers = OpeExcel()  
    print(opers.get_lines())  
    print(opers.get_value(3,2))

现在只要生成对应的OpeExcel()对象,然后调用相应的get_lines()、get_value()方法,就可以获取到相应的数据了。
打印结果

完整代码如下:

import xlrd    class OpeExcel:  
   def __init__(self,file_name=None,sheet_id=None):  if file_name:  
           self.file_name = file_name  
           self.sheet_id = sheet_id  else:  
           self.file_name = 'file_path/xxx.xls'  
           self.sheet_id = 0  
       self.data = self.get_data()  
   #获取sheets的内容  
   def get_data(self):  
       data = xlrd.open_workbook(self.file_name)  
       tables = data.sheets()[self.sheet_id]  return tables  
   #获取单元格行数  
   def get_lines(self):  
       tables = self.data  return tables.nrows  
   #获取单元格数据  
   def get_value(self,row,col):  return self.data.cell_value(row,col)  if __name__ == '__main__':  
    opers = OpeExcel()  
    print(opers.get_lines())  
    print(opers.get_value(3,2))

有疑问的小伙伴可以在下方留言,我会针对问题不断优化文章内容,希望能有效的帮到更多人,谢谢~

---------------------

作者:简单随风

来源:CSDN

原文链接:https://blog.csdn.net/lt326030434/article/details/81167007

Android ADB命令大全

导入导出文件测试点

手把手带你入门git操作

还有一件重要的事情要和大家说,我不是经常看公众号后台,所以有时候大家在后台发留言,时间一旦超过2天,我就没有回复权限了。所以,我要公布自己的微信号了,欢迎大家来埋伏我?

*本文创作:简单随风

*本文编辑:糖小幽

python 封装_python接口自动化学习笔记(封装方法用于读取excel)相关推荐

  1. python测试自动化封装_python接口自动化学习笔记(封装获取测试数据方法)

    本篇文章是接于python接口自动化学习笔记(封装方法用于读取excel) 后的拓展,讲解在封装完成excel的数据读取代码后,如何在data层进行使用 首先,我准备了这样一个excel表格用以存储测 ...

  2. python接口自动化学习笔记(封装获取测试数据方法)

    本篇文章是接于python接口自动化学习笔记(封装方法用于读取excel) 后的拓展,讲解在封装完成excel的数据读取代码后,如何在data层进行使用 首先,我准备了这样一个excel表格用以存储测 ...

  3. python小工具封装_python接口自动化(二)——封装需要用到的工具类

    封装需要用的工具类: 1.封装读取Excel的工具类,这里选用的是pandas: importpandas as pd path= 'test.xlsx'sheet_name= 'test_data' ...

  4. 【接口自动化学习笔记】python+requests+excel实现接口自动化

    文章内容参考:pytest+requests+Excel+allure接口自动化测试框架实践_JJJims的博客-CSDN博客 功能        excel驱动的接口自动化+邮件发送 背景 参考了上 ...

  5. python小_Python小课——学习笔记(3)

    数据类型 计算机其实就是一个做数学运算的机器,所以计算机程序的主要任务就是处理各种数值.但是计算机要处理的数值,可不仅仅只是数值,计算机还可以处理文本.音频.视频.图像等数据. Python中可以直接 ...

  6. python重定向_Python接口自动化(十)重定向(Location)

    在实际工作中,有些接口请求完以后会重定向到别的url,而你却需要重定向前的url. 1.请求转发 该动作是服务器行为,在web容器中进行的,客户端对于跳转是不知道的,地址栏中显示的URL是不会变化的, ...

  7. python提供了方法用于读取文本文件内容_python提供了哪三种方法用于读取文本文件的内容?...

    三种方法分别是:"read()"."readline()"."readlines()"."read()"是一次性读取文件 ...

  8. [转载] Python3接口自动化框架:第三方openpyxl库读取excel之命名元组namedtuple承载数据

    参考链接: Python中的命名元组Namedtuple 背景:python自动化测试框架中,不管是UI还是api,都逃脱不掉数据驱动,除去一些框架的数据驱动方式,最直接的就是我们的excel测试用例 ...

  9. python 网络接口 开发_Python自动化学习笔记(八)——接口开发、发送网络请求、发送邮件、写日志...

    1.接口开发(flask模块) Python自动化学习笔记(七)接口开发部分的内容补充 1.1参数为json格式: flask.request.is_json #判断参数是否是json格式 flask ...

最新文章

  1. nodejs获取ASP.Net WebAPI(IIS Windows验证)
  2. js设置div高度低于滚动高度时固定
  3. [C++]const 总结
  4. cocos2d-html5 onEnter init ctor构造函数 ----js特有特性(和c++有一点不一样)
  5. 招人信息,请斟酌后联系偶!
  6. 学计算机所需要的英语单词,学计算机最少要懂的英语单词是什么
  7. C++学习——set与map
  8. java web 自定义异常_Java web, service 层应该通过异常(自定义Exception)来中断业务吗?...
  9. 域名与DNS(域名解析服务器)
  10. (转)XP和Scrum到底有什么区别?
  11. Java基础002 Java9开发环境搭建(Win10平台)
  12. 用outlook登录163邮箱的超详细教程
  13. 计算机CPU风扇的功能及作用,CPU和风扇之间涂的是什么东西
  14. 极简番茄钟与白噪音|潮汐
  15. LiveCharts
  16. 机器学习 | 牛顿冷却定律
  17. linux怎样收集系统信息,Linux下收集系统和硬件信息的10个实用命令
  18. 索尼手机android怎么连,索尼SmartWatch 2 SW2 连接手机图文教程
  19. 咸鱼菌玩3D—投影基础
  20. 界面追踪法求解流体流动的表面张力

热门文章

  1. android view禁用,Android 禁止ViewPager的自带滑动效果
  2. php range第二个参数比第一个小,鲜为人知的 PHP range() 函数
  3. mysql怎么用命令行导出sql文件_使用mysql命令行导出sql_MySQL
  4. ip pim spare 源树 和 共享树_Pim通用规则+Dense模式规则+Sparse模式规则
  5. 计算机二级c语言作弊的东西,计算机二级C全部考试题库[作弊必备]编程题.txt
  6. linux目录档案权限详解,五、Linux的档案权限与目录配置
  7. vc的速度有c语言快吗,大家帮看看,怎么回事?Delphi竟比vc++还快
  8. java导入自定义类_导入自定义Java类
  9. 微信语音怎么转发给别人听_微信语音怎么转发出去?这个小技巧超级好用
  10. 在excel工作表中c1单元格_已知Excel工作表中A1单元格和B1单元格的值分别为“电子科技大学”、“信息中心”,要求在C1单元格显示“...