接口测试框架——第二篇-python读取excel文件内容
今天完善excel_module.py文件,上代码:
# coding: utf-8
import xlrd
class ReadExcel():
def __init__(self, file_name):
self.data = xlrd.open_workbook(file_name)
def close(self):
self.data.close()
def get_sheet_by_index(self, index):
'''
通过表的索引获取表格的内容
:param index: sheet的索引
:return: 返回sheet的内容
'''
__sheet = self.data.sheet_by_index(index)
return __sheet
def get_sheet_by_name(self, name):
'''
通过sheet名称获取表的内容
:param name: sheet名称
:return: 返回sheet对象
'''
__sheet = self.get_sheet_by_name(name)
return __sheet
def get_row_values(self, sheet_obj, row_index):
"""
获取指定行的内容
:param sheet_obj: 接收sheet对象
:param row_index: 行的索引
:return: 返回指定行的内容,类型为列表
"""
__values_list = sheet_obj.row_values(row_index)
return __values_list
def get_col_values(self, sheet_obj, col_index):
"""
获取指定列的内容
:param sheet_obj: 接收sheet对象
:param col_index: 列的索引
:return: 返回指定列的内容,类型为列表
"""
__values_list = sheet_obj.col_values(col_index)
return __values_list
def get_number_of_rows(self, sheet_obj):
"""
获取指定sheet行数
:param sheet_obj: 接收sheet对象
:return: 返回sheet总行数
"""
__number_of_rows = sheet_obj.nrows
return __number_of_rows
def get_number_of_cols(self, sheet_obj):
"""
获取指定sheet列数
:param sheet_obj: 接收sheet对象
:return: 返回sheet总列数
"""
__number_of_cols = sheet_obj.ncols
return __number_of_cols
def get_cell_value(self, sheet_obj, row_index, col_index):
"""
获取指定单元格的内容
:param sheet_obj: 接收sheet对象
:param row_index: 行索引
:param col_index: 列索引
:return: 返回单元格的内容
"""
__cell_value = sheet_obj.cell(row_index, col_index).value
return __cell_value
def get_all_content(self, sheet_obj):
"""
:param sheet_obj:
:return:
"""
__content = []
# 总行数
__rows_num = self.get_number_of_rows(sheet_obj)
for tmp in range(__rows_num):
tmp_list = []
# 遍历行内容
__row_value = self.get_row_values(sheet_obj, tmp)
for i in __row_value:
i = i.encode('utf8')
# 将每行内容放到一个列表里
tmp_list.append(i)
__content.append(tmp_list)
return __content
把读excel方法的单个方法提取出来,为的是后面调用的时候方便——面向对象的思想。具体方法的说明已经写的很清楚了。
如果你看不明白,那你就需要复习前面的内容了,
接口测试基础——第5篇xlrd模块 参考这一篇。
如果还是不明白,那就多百度吧,代码就是这么膈应人,慢慢来。如果有问题可以给我留言或者发公众号消息,船长看到后会第一时间回复大家。
微信公众号搜索“自动化测试实战”或扫描下方二维码添加关注~~~

接口测试框架——第二篇-python读取excel文件内容的更多相关文章
- 记录:python读取excel文件
由于最近老是用到python读取excel文件,所以特意记录一下python读取excel文件的大体框架. 库:xlrd(读),直接pip安装即可.想要写excel文件的话,安装xlwd库即可,也是直 ...
- PHP读取Excel文件内容
PHP读取Excel文件内容 项目需要读取Excel的内容,从百度搜索了下,主要有两个选择,第一个是PHPExcelReader,另外一个是PHPExcel. PHPExcelReader比较 ...
- 使用POI读取excel文件内容
1.前言 项目中要求读取excel文件内容,并将其转化为xml格式.常见读取excel文档一般使用POI和JExcelAPI这两个工具.这里我们介绍使用POI实现读取excel文档. 2.代码实例: ...
- 基于Java+Selenium的WebUI自动化测试框架(十一)-----读取Excel文件(POI)(1)
上一篇说了利用JXL的jar包来读取Excel的代码.在Java中,还可以用另外一种jar包来读取Excel的内容,那就是Apache的POI. 这里和之前一样,需要导入POI的jar包,建议导入这三 ...
- 基于Java+Selenium的WebUI自动化测试框架(十)-----读取Excel文件(JXL)
之前,我们使用了读取XML文件的方式来实现页面元素的读取,并做成了基础页面类.下面,我们来进行一些扩展,通过Excel来读取页面元素. Excel的使用,大多数人应该都不陌生.那么Java读取Exce ...
- (实用篇)PHPExcel读取Excel文件的实现代码
用PHPExcel读取Excel 2007 或者Excel2003文件,需要的朋友,可以参考下. 涉及知识点: php对excel文件进行循环读取 php对字符进行ascii编码转化,将字符转为十进 ...
- 第一节:python读取excel文件
写在前面: (1)Excel中数字格式int(1),读出的是float(1.0)类型,导致传参时造成不同,强制转换时,int(str(1.0))在2.7版本又会报错ValueError: invali ...
- 关于jquery js读取excel文件内容 xls xlsx格式 纯前端
附带参考:http://blog.csdn.net/gongzhongnian/article/details/76438555 更详细导入导出:https://www.jianshu.com/p/7 ...
- java实现读取excel文件内容
package excel; import java.io.FileInputStream; import java.io.InputStream; import java.text.SimpleDa ...
随机推荐
- HTop 防止进程重复显示
按F2 选择 Display options 选择 Hide userland threads 比Top更加好用!
- Centos7 安装Power Shell
Centos7 安装Power Shell 1 查看版本 # cat /etc/redhat-release CentOS Linux release 7.5.1804 (Core) 2 安装 # R ...
- Android-----代码实现打开手机第三方应用APP
最近做一个项目,有一个需要启动第三方应用,和微信的地图查看差不多,需要启动高德,百度或腾讯地图来查看:特来分享,希望有所帮助. 案例效果如图: 要想启动第三方:首先要知道他的包名 一:高德 高德:co ...
- Python 排序---sort与sorted学习
当我们从数据库中获取一写数据后,一般对于列表的排序是经常会遇到的问题,今天总结一下python对于列表list排序的常用方法: 第一种:内建方法sort() 可以直接对列表进行排序 用法: list. ...
- 虚拟机VMware搭建代码环境
安装git yum install git -y 安装nvm curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.29.0/ins ...
- MySQL的登陆错误:ERROR 1049 (42000): Unknown database 'root'
当初刚装MySQL的时候,到网上查的命令行登陆MySQL的方法都是mysql -u root -p password mysql -r root -p 123456 但是奇怪的是这条命令我输进去死活都 ...
- hdu4678 Mine 规律或者博弈。(博弈的sg函数不懂我是找的规律)
链接:题意就是告诉你一个扫雷图里面每个雷的位置,有两个人,每个人都知道雷的确切位置,每个人一次可以点一部,问你谁能赢. 链接:http://acm.hdu.edu.cn/showproblem.php ...
- List根据某个字段(属性)去重
有时候自带的list.Distinct()去重并不能满足魔门的要求,比如以下情况 如果testList的Name相同则视为重复,则可以如下实现,比写循环语句简洁多了 testList.Where((x ...
- 使用Eclipse EE(汉化版) 创建一个JavaWeb工程
第一步:打开eclipse ee,单击“文件”-->单击“新建”-->单击“动态Web项目”. 若没找到“动态Web项目”,单击“其他” -->在弹出的窗口中打开“Web”下拉菜单 ...
- Asp.net Core + EF Core + Bootstrap搭建的MVC后台通用管理系统模板(跨平台版本)
Asp.net Core + EF Core + Bootstrap搭建的MVC后台通用管理系统模板(跨平台版本) 原创 2016年07月22日 10:33:51 23125 6月随着.NET COR ...