use*_*759 15 python csv dictionary
我有一个csv文件test.csv
,如下所示:
1,2,3
a,b,c
d,e,f
Run Code Online (Sandbox Code Playgroud)
我希望上面看起来像一个字典,如下所示:
{"1":"a", "2":"b", "3":"c"}
{"1":"d", "2":"e", "3":"f"}
Run Code Online (Sandbox Code Playgroud)
标题1,2,3
是键,行是值.
我不太明白如何使用csv.DictReader完成这项工作.以上样本只是一个样本.我正在使用的实际数据有很多列,因此,我无法通过使用其索引访问每一行并手动将它们放入字典中.
use*_*759 23
回答我自己的问题.在尝试了一段时间后,我刚刚玩了一下,并添加了for循环.
with open("test.csv") as f:
records = csv.DictReader(f)
for row in records:
print row
Run Code Online (Sandbox Code Playgroud)
这给了我想要的输出
{'1': 'a', '3': 'c', '2': 'b'}
{'1': 'd', '3': 'f', '2': 'e'}
Run Code Online (Sandbox Code Playgroud)
默认情况下,第一行将作为域名 csv.DictReader
你可以试试
>>> a = open('/tmp/test.csv')
>>> a = csv.DictReader(open('/tmp/test.csv'), delimiter=',')
>>> [x for x in a]
[{'1': 'a', '3': 'c', '2': 'b'}, {'1': 'd', '3': 'f', '2': 'e'}]
Run Code Online (Sandbox Code Playgroud)
这可能是你想要的