Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python将csv写入字典列表,以标题作为键,行作为值_Python_Csv_Dictionary - Fatal编程技术网

Python将csv写入字典列表,以标题作为键,行作为值

Python将csv写入字典列表,以标题作为键,行作为值,python,csv,dictionary,Python,Csv,Dictionary,我有一个csv文件,test.csv,如图所示: 1,2,3 a,b,c d,e,f {"1":"a", "2":"b", "3":"c"} {"1":"d", "2":"e", "3":"f"} 我希望上面的内容看起来像一本字典,如图所示: 1,2,3 a,b,c d,e,f {"1":"a", "2":"b", "3":"c"} {"1":"d", "2":"e", "3":"f"} 其中标题1,2,3是键,行是值 我不太明白如何使用csv.DictReader完成这项工作。上面的样

我有一个csv文件,
test.csv
,如图所示:

1,2,3
a,b,c
d,e,f
{"1":"a", "2":"b", "3":"c"}
{"1":"d", "2":"e", "3":"f"}
我希望上面的内容看起来像一本字典,如图所示:

1,2,3
a,b,c
d,e,f
{"1":"a", "2":"b", "3":"c"}
{"1":"d", "2":"e", "3":"f"}
其中标题
1,2,3
是键,行是值


我不太明白如何使用csv.DictReader完成这项工作。上面的样本就是那个,一个样本。我正在处理的实际数据有许多列,因此,我无法通过使用其索引并手动将它们放入字典来访问每一行

回答我自己的问题。在尝试了一段时间之后,我现在又对它进行了一些尝试,并添加了for循环

with open("test.csv") as f:
    records = csv.DictReader(f)
    for row in records:
         print row
这就给出了我想要的输出

{'1': 'a', '3': 'c', '2': 'b'}
{'1': 'd', '3': 'f', '2': 'e'}

默认情况下,第一行将作为
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'}]

这可能是你想要的

看看这个:谢谢!这个链接对我的问题也很有帮助。这也很好!谢谢!:)任何好奇的人,将
方言='excel-tab'
添加到您的DictReader调用中,它可以与选项卡一起工作。