【发布时间】:2018-12-05 23:18:50
【问题描述】:
我创建了一个从大型 CSV 文件中读取每一行并返回每一行的生成器:
def csv_reader(filename):
import csv
with open(filename) as f:
reader = csv.DictReader(f)
for line in reader:
yield dict(line)
filename = "output.csv"
generator = csv_reader(filename)
我知道如何迭代生成器并获得输出:
# Iterate Generator
for g in generator:
print(g)
这会打印字典。
但是,如何访问每个字典中每个键的值?以下没有返回任何内容。
for g in generator:
print(g['user'])
这也不行:
>>> for g in generator:
... alist.append(g.keys())
... alist
...
>>> alist
[]
【问题讨论】:
-
澄清一下,你每次都重新创建生成器吗?
标签: python-3.x generator