【发布时间】:2015-05-04 09:33:11
【问题描述】:
我有一个包含以下列的 csv 文件:
身份证、姓名、年龄、性别
后面是上面列的很多值。 我正在尝试单独读取列名并将它们放入列表中。
我正在使用 Dictreader,这给出了正确的详细信息:
with open('details.csv') as csvfile:
i=["name","age","sex"]
re=csv.DictReader(csvfile)
for row in re:
for x in i:
print row[x]
但我想要做的是,我需要使用输入 csv 自动解析列列表(在上述情况下为“i”),而不是将它们硬编码到列表中。
with open('details.csv') as csvfile:
rows=iter(csv.reader(csvfile)).next()
header=rows[1:]
re=csv.DictReader(csvfile)
for row in re:
print row
for x in header:
print row[x]
这会报错
Keyerrror:'name'
在行打印行[x]。我哪里错了?是否可以使用 Dictreader 获取列名?
【问题讨论】:
-
我认为是
print re[x] -
你会得到错误:Dictreader instance has no attribute "getitem"
-
你能张贴几行你的文件看看它的样子吗?
-
id,name,age,sex 100101,Herbert,21,m 100102,Keith,18,m 100103,Jennifer,15,f
标签: python