为什么第二轮`print(list(reader))`什么都不打印?

时间:2015-04-03 13:31:46

标签: python

>>> import csv
>>> csvfile = open("name.csv")
>>> reader = csv.DictReader(csvfile,delimiter=" ")
>>> print(list(reader))
[{'first_name': 'Baked', 'last_name': 'Beans'}, {'first_name': 'Lovely', 'last_name': 'Spam'}, {'first_name': 'Wonderful', 'last_name': 'Spam'}]
>>> print(list(reader))
[]

我想知道为什么第二轮print(list(reader))没有打印出来? 首次运行readerprint(list(reader))是否已更改?感谢。

1 个答案:

答案 0 :(得分:2)

因为csv.DictReader()会返回一个生成器。

来自https://docs.python.org/2/library/csv.html

  

返回一个读取器对象,它将迭代给定的行   csvfile。