文章目录
- 前言
- 一、方法一:普通方法
- 二、方法二:用range函数
- 三、方法三:用迭代器切片
- 总结
前言
在做自动化测试时,需要将测试数据存放在excel表格中,读取数据的时候,我们只需要读取非表头的内容即可,那么如何跳过表头读取excel表格中的数据呢?
在此,先将excel工作簿以及sheet表格进行封装
import xlrd
class ReadExcel:
def __init__(self, filename):
"""
打开文件
:param filename: 文件路径
"""
self.wb = xlrd.open_workbook(filename=filename)
def open_sheet(self, sheet_name):
"""
根据表格名称打开表格
:param sheet_name:sheet表格名称
:return:
"""
return self.wb.sheet_by_name(sheet_name=sheet_name)
def operate_sheet(self, sheet_name):
"""
这里就是读取excel表格的函数,通过下面三种方法读取
:return:
"""
下面将通过三种方法实现excel跳过表头读取数据(operate_sheet函数)
一、方法一:普通方法
在读取表格时,条件判断:当行数对应索引为0(索引从0开始,0表示第一行)时,跳过
代码如下(示例):
def operate_sheet(self, sheet_name):
"""
操作表格
:return:
"""
sheet = self.open_sheet(sheet_name=sheet_name)
# 方法一:(此方法不推荐,效率太低)
# 2.跳过第一行读取表格
for i in range(row_num):
if i==0:
continue
print(sheet.row_values(i))
调用operate_sheet函数:
if __name__ == '__main__':
re = ReadExcel("ZHZX.xlsx") # 参数传入你的工作簿(excel文件)路径
re.operate_sheet("Sheet_zhzx") # 传入你的sheet表名字
后续两种方法的调用方法同上,不再展示
二、方法二:用range函数
range()函数用法参考菜鸟教程:pyhton3 range()函数用法
代码如下(示例):
def operate_sheet(self, sheet_name):
"""
操作表格
:return:
"""
sheet = self.open_sheet(sheet_name=sheet_name)
# 方法二:
# 2.跳过第一行读取表格(推荐)
for i in range(1,row_num):
print(sheet.row_values(i))
三、方法三:用迭代器切片
需导入islice包
from itertools import islice
代码如下(示例):
def operate_sheet(self, sheet_name):
"""
操作表格
:return:
"""
sheet = self.open_sheet(sheet_name=sheet_name)
# 方法三:
# 构造迭代器(推荐)
iter_row_num = iter(range(row_num))
# 2.跳过第一行读取表格
for i in islice(iter_row_num,1,None):
print(sheet.row_values(i))
总结
小白一枚,如有错误,还请指出,谢谢~
更多推荐
python:跳过第一行读取excel表格数据
发布评论