Python3跳过第一行快速读取文件内容

来源:互联网 发布:用代理不能上公司淘宝 编辑:程序博客网 时间:2024/06/03 18:39

方法1

input_file = open("C:\\test\\test.csv")    line_num = 0    for line in input_file:        line_num += 1        if (line_num != 1):            //添加读取内容  

为每行设置一个line_num,然后判断line_num是否为1,如果不等于1,则进行读取操作。

方法2

import itertoolsinput_file = open("C:\\test\\test.csv")    for line in itertools.islice(input_file, 1, None):        //添加读取内容   

方法1中每次迭代都需要判断一次,增加了时间开销,方法2做法是导入islice这个函数。其中islice函数说明:islice(seq,start,stop,step)
islice函数扩展:
例如文件内容方式如下:

 1. NumIters,Seconds,LearningRate,accuracy,loss 2.  3. 0.0,0.13563,0.00971013,0.1004,2.39144 4.  5. 500.0,1.710498,0.00971013,0.9732,0.0888011 6.  7. 1000.0,3.246085,0.00937411,0.9804,0.0608763 8.  9. 1500.0,4.795843,0.00906403,0.9848,0.0488569

想要从第三行读取后面的所有数据,则将islice函数改成如下方式:

data1 = []//存储第1列数据data2 = []//存储第2列数据data3 = []//存储第3列数据data4 = []//存储第4列数据with open(data_file, 'r') as f:    for line in itertools.islice(f, 2, None, 2)://从第三行开始读取,步长为2        line = line.strip()        fields = line.split(",")        data1.append(float(fields[0].strip()))        data2.append(float(fields[1].strip()))        data3.append(float(fields[2].strip()))        data4.append(float(fields[3].strip()))
0 0
原创粉丝点击