1

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

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

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

1 回答 1

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

于 2013-04-23T09:59:29.937 回答