繁体   English   中英

使用python从csv文件中仅获取所需的行

[英]Get only the required lines from a csv file using python

如何使用python从csv文件中获取每个第3行?

import csv

with open ('data.csv','r') as infile:
    contents = csv.reader(infile, delimiter =' ')
then???

csv文件看起来像:

aaaaaaaaaaaaaaaa
bbbbbbbbbbbbbbbb
only recquired line
cccccccccccccccccccccccccc
ddddddddddddddddddddddddd
only recquired line

结果应如下所示:

only recquired line
only recquired line

为避免将整个文件加载到内存中,可以使用itertools.islice

from itertools import islice
with open ('data.csv','r') as infile:
    x = islice(infile, 2, None, 3)
    for line in x:
            print line
for index, line in enumerate(fileOfInterest, 1):
   if index % 3 == 0:
       doSomething

或者,您可以使用python的扩展切片表示法,如下所示:

for line in fileOfInterest[2::3]
   doSomething

但是,1_CR的答案是我要去的那个!

with open('test.csv') as hf:
    print [line for line in list(hf)[2::3]]

使用扩展切片表示法

for i in contents.splitlines(True)[2::3]:
    print (i)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM