python:跳过第一行读取excel表格数据


前言

在做自动化测试时,需要将测试数据存放在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))

总结

小白一枚,如有错误,还请指出,谢谢~

  • 2
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值