我知道我可以使用计数器,但是只是想知道是否还有一些Pythonic。
此刻,我的代码如下所示:
csvReader = csv.reader(StringIO.StringIO(data))
for row in csvReader:
...
最佳答案
例如,仅限于前10行
from itertools import islice
for row in islice(csvReader, 10):
...
使用
itertools.islice
itertools.islice(iterable, stop)
itertools.islice(iterable, start, stop[, step])
使一个迭代器返回可迭代对象中的选定元素。如果
start
不为零,则跳过iterable中的元素,直到到达start
。之后,除非step
设置为大于1的值,否则将连续返回元素,这会导致项目被跳过。如果stop
是None
,则迭代将一直进行到迭代器耗尽为止。否则,它将停在指定位置。与常规切片不同,islice()
不支持start
,stop
或step
的负值。可用于从内部结构已被展平的数据中提取相关字段(例如,多行报告可能每三行列出一个名称字段)。