【问题标题】:How do I use csv.DictReader to get my csv data?如何使用 csv.DictReader 获取我的 csv 数据?
【发布时间】: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


    【解决方案1】:

    答案很简单:

    def reader(file='file.csv', fields=['user','email', 'fname', 'lname', 'pass']):
    with open (file) as f:
       f_reader= csv.DictReader(f, fields)
       yield from f_reader # <---Change here
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-09-28
      • 2014-09-02
      • 1970-01-01
      • 2013-07-29
      • 1970-01-01
      • 2021-03-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多