嗨,我正在尝试打开一个简单的csv文件,文件头来自外部文件:
下一个文件名为:名称.csv以下内容:
Leo,Days,Ju
Tomas,Lee,Bruce
Max,Perez,Smith
如果我编码:
^{pr2}$结果如下:
Leo,Ju
Tomas,Bruce
Max,Smith
但是如果有一个额外的文件头名为hdr_名称.txt使用:
['name', 'paterno', 'materno']
有了这个新代码:
import csv
sep = ','
fieldnames = open('hdr_name.txt', 'r').read()
with open('name.csv') as csvfile:
print(fieldnames)
reader = csv.DictReader(csvfile,fieldnames)
for row in reader:
list = (row['name'], \
row['materno'])
print (sep.join(list))
结果是:
Traceback (most recent call last):
File "<stdin>", line 5, in <module>
KeyError: 'name'
但是如果我在fieldnames中要求'name',是吗!在
>>> 'name' in fieldnames
True
>>>
我做错了什么,从外部文件打开头?在
fieldnames
是一个如下所示的字符串:当然,成员资格测试将返回true,但这并不意味着
fieldnames
是一个列表。记住,file.read
返回一个字符串-您仍然需要将其转换为一个列表。在这看起来不像JSON,所以我建议
^{pr2}$ast
:相关问题 更多 >
编程相关推荐