【发布时间】:2017-04-19 08:39:22
【问题描述】:
我偶然发现了一个我似乎无法找到答案的问题。我正在使用 csv.DictReader 读取 csv 文件的内容,并根据该信息构造一个命名元组列表。但是,在运行它时,最终结果是一个空列表。
from collections import namedtuple
import csv
nt = namedtuple('suminfo', 'a, b, c')
checklist = ['check1', 'check2', 'check3']
with open('test.csv', 'r') as csv_file:
csv_rows = csv.DictReader(csv_file, delimiter='\t')
tups = [nt(row['first'], row['second'], row['third'])
for row in csv_rows if row['first'] in checklist]
我还尝试了一个典型的正常循环行,然后是一个命名元组的列表附加,这似乎工作得很好。
为什么列表理解没有按预期运行?感谢您的宝贵时间。
【问题讨论】:
标签: python python-3.x csv list-comprehension namedtuple