我有一个csv file
,看起来像这样
header1 header2 header3
1 value1 value2 value3
2 value4 value5
3 value6 value7
我想写一个像这样的字典:
{header1:[value1, value4],
header2:[value2, value5, value6],
header3:[value3, value7]
}
我已经尝试过
records = csv.DictReader(f)
for row in records:
print(row)
但是它以第一列的值作为dict
中的键
我该怎么办?
答案 0 :(得分:2)
这是一种快速的方法,我希望采用明显的方法。
from csv import DictReader
from collections import defaultdict
result = defaultdict(list)
records = DictReader(f)
for row in records:
for key in row:
result[key].append(row[key])
答案 1 :(得分:0)
您可以为此使用熊猫。
import pandas as pd
df = pd.read_csv("Your CSV file name")
dict1 = df.to_dict('list')
print(dict1)
答案 2 :(得分:0)
使用pandas dataframe
读取csv并转换为dict
import pandas as pd
df = pd.read_csv('test2.csv', sep=',')
df.to_dict('list')
它给出以下输出。
{
'header1': ['value1', 'value4', nan],
'header2': ['value2', 'value5 ', 'value6'],
'header3': ['value3', nan, 'value7']
}