前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python接口自动化学习笔记(封装方法用于读取excel)

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

作者头像
软件测试君
发布2019-06-03 10:13:27
8170
发布2019-06-03 10:13:27
举报
文章被收录于专栏:测试人生测试人生

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

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

1、实现获取excel某张表的行数、单元格数据
代码语言:javascript
复制
#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文件和对应的表。如果不传这两个字段,就调用默认表格。

代码语言:javascript
复制
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的方法,用以之后获取单元格行数、单元格数据,或其他表信息使用。

代码语言:javascript
复制
   def get_data(self):  

        data = xlrd.open_workbook(self.file_name)  

        tables = data.sheets()[self.sheet_id]  

        return tables
4、封装获取单元格行数方法
代码语言:javascript
复制
   def get_lines(self):  

        tables = self.data  

        return tables.nrows
5、封装获取单元格数据的方法
代码语言:javascript
复制
   def get_value(self,row,col):  

        return self.data.cell_value(row,col)

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

代码语言:javascript
复制
if __name__ == '__main__':  

     opers = OpeExcel()  

     print(opers.get_lines())  

     print(opers.get_value(3,2))

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

完整代码如下:

代码语言:javascript
复制
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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-04-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 软件测试君 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、实现获取excel某张表的行数、单元格数据
  • 2、封装获取表格方法
  • 3、封装获取表格数据方法
  • 4、封装获取单元格行数方法
  • 5、封装获取单元格数据的方法
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档