本文是为难得干货文章
(是位大佬所写哦)
大家好,我是测试君。
下面分享一波Python接口自动化文章:
本篇是使用xlrd实现的对excel的数据进行读取,xlrd网上demo很多,不做过多叙述,下面主要讲解封装的思路:
首先贴出测试用的excel表格
1、实现获取excel某张表的行数、单元格数据
#获取excel文件 data = xlrd.open_workbook('file_path/xxx.xls') #获取第一张表数据 tables = data.sheets()[0] #打印表行数 print(tables.nrows) #打印第4行,第3列单元格数据 print(tables.cell_value(3,2))#coding=utf-8 import xlrd
打印结果
2、封装获取表格方法
此方法需要实现的作用是:其他方法再调用此方法时,如果传入file_name和sheet_id,就调用对应路径的excel文件和对应的表。如果不传这两个字段,就调用默认表格。
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()def __init__(self,file_name=None,sheet_id=None): if file_name:
3、封装获取表格数据方法
封装获取tables的方法,用以之后获取单元格行数、单元格数据,或其他表信息使用。
data = xlrd.open_workbook(self.file_name) tables = data.sheets()[self.sheet_id] return tablesdef get_data(self):
4、封装获取单元格行数方法
tables = self.data return tables.nrowsdef get_lines(self):
5、封装获取单元格数据的方法
def get_value(self,row,col): return self.data.cell_value(row,col)
到这里,就封装完成了,然后可以调用试一下:
opers = OpeExcel() print(opers.get_lines()) print(opers.get_value(3,2))if __name__ == '__main__':
现在只要生成对应的OpeExcel()对象,然后调用相应的get_lines()、get_value()方法,就可以获取到相应的数据了。
打印结果
完整代码如下:
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))import xlrd class OpeExcel:
有疑问的小伙伴可以在下方留言,我会针对问题不断优化文章内容,希望能有效的帮到更多人,谢谢~
---------------------
作者:简单随风
来源:CSDN
原文链接:/lt326030434/article/details/81167007
Android ADB命令大全
导入导出文件测试点
手把手带你入门git操作
还有一件重要的事情要和大家说,我不是经常看公众号后台,所以有时候大家在后台发留言,时间一旦超过2天,我就没有回复权限了。所以,我要公布自己的微信号了,欢迎大家来埋伏我?
*本文创作:简单随风
*本文编辑:糖小幽