【发布时间】:2020-04-10 05:22:40
【问题描述】:
我有这段代码
def reader(file='file.csv', fields=['user','email', 'fname', 'lname', 'pass']):
with open (file) as f:
f_reader= csv.DictReader(f, fields)
yield f_reader
但是,要在我的代码中实际使用这个函数,我必须这样做:
eggs= reader()
for spam in eggs:
for row in spam:
print(row['email'])
也就是说,生成器是在生成器内部创建的。我想要的是只使用一个 for 循环来访问我的 csv 数据。我怎么做?
另外,如果我用return 替换yield,我会得到IOError: operation on closed file
【问题讨论】:
标签: python-3.x csv generator