如何限制我在CSV中处理的行

时间:2013-04-23 09:59:02

标签: python csv

我知道我可以使用一个计数器,但只是想知道是否有更多的Pythonic。

目前,我的代码如下所示:

csvReader = csv.reader(StringIO.StringIO(data))
for row in csvReader:
   ...

1 个答案:

答案 0 :(得分:3)

举个例子,限于前10行

from itertools import islice

for row in islice(csvReader, 10):
    ...

使用itertools.islice

  

itertools.islice(iterable, stop)

     

itertools.islice(iterable, start, stop[, step])

     
     

创建一个从迭代中返回所选元素的迭代器。如果start非零,则跳过迭代中的元素,直到达到start。之后,连续返回元素,除非step设置为高于导致项被跳过的元素。如果stopNone,则迭代继续,直到迭代器耗尽,如果有的话;否则,它停在指定位置。与常规切片不同,islice()不支持startstopstep的否定值。可用于从内部结构已展平的数据中提取相关字段(例如,多行报表可在每第三行列出名称字段)。