16.如何在csv文件中跳过第一行的python代码

txt,xls,xlsx,csv操作

1· xlwt 保存的xlsx无法直接office打开,但是wps可以打开,

1
xlsx 修改格式为xls

2·如何在csv文件中跳过第一行的python代码

img

今天加油鸭� 2021-06-10 18:16:07 img 76 img 收藏

文章标签: python 大数据 人工智能

版权

我来了我来了,我带着问题回来了~

img

宝们有没有在日常敲代码中发现索引值和数据对不上的问题,产生这个问题的原因是你加了header,它在计算机数据识别中占了一行位置,那么我们应该如何给它变回来呢?

我之前尝试过header=None,index=0,还有巴拉巴拉一大堆都不好使,这里我给大家看一行代码,你只需要在我框框的指定位置添加,名字什么自己对应上就可以完美解决~

img

就是这里next(reader),别看它不起眼,但是真的很好用,前后你们那个名称自己对应一下,一定要改成自己的

img

OK啦完美解决,已经跳过第一行啦嘿嘿嘿~

备选方案

1
2
3
4
5
6
7

import csv
from itertools import islice
with open('表格/2019-04-01.csv', 'r') as read_file:
reader = csv.reader(read_file)
for row in islice(reader, 1, None):
print(row)

前言

在做自动化测试时,需要将测试数据存放在excel表格中,读取数据的时候,我们只需要读取非表头的内容即可,那么如何跳过表头读取excel表格中的数据呢?


在此,先将excel工作簿以及sheet表格进行封装

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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:
"""
123456789101112131415161718192021

下面将通过三种方法实现excel跳过表头读取数据(operate_sheet函数)

一、方法一:普通方法

在读取表格时,条件判断:当行数对应索引为0(索引从0开始,0表示第一行)时,跳过
代码如下(示例):

1
2
3
4
5
6
7
8
9
10
11
12
13
    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))
12345678910111213

调用operate_sheet函数:

1
2
3
4
if __name__ == '__main__':
re = ReadExcel("ZHZX.xlsx") # 参数传入你的工作簿(excel文件)路径
re.operate_sheet("Sheet_zhzx") # 传入你的sheet表名字
123

后续两种方法的调用方法同上,不再展示

在这里插入图片描述

二、方法二:用range函数

range()函数用法参考菜鸟教程:pyhton3 range()函数用法

代码如下(示例):

1
2
3
4
5
6
7
8
9
10
11
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))
12345678910

三、方法三:用迭代器切片

需导入islice包

1
2
from itertools import islice
1

代码如下(示例):

1
2
3
4
5
6
7
8
9
10
11
12
13
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))
123456789101112

总结

pandas

https://pandas.pydata.org/pandas-docs/stable/user_guide/io.html


16.如何在csv文件中跳过第一行的python代码
http://example.com/2021/10/25/16-如何在csv文件中跳过第一行的python代码/
作者
MuyanGit
发布于
2021年10月25日
许可协议