我知道我可以使用计数器,但是只是想知道是否还有一些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的值,否则将连续返回元素,这会导致项目被跳过。如果stopNone,则迭代将一直进行到迭代器耗尽为止。否则,它将停在指定位置。与常规切片不同,islice()不支持startstopstep的负值。可用于从内部结构已被展平的数据中提取相关字段(例如,多行报告可能每三行列出一个名称字段)。

10-08 02:56