阅读csv到dicts的词典

时间:2016-07-21 08:04:12

标签: python csv dictionary

假设我有这个csv文件:

Header1, Header2, Header3
key1,    1,       2
key2,    3,       4

我想将其转换为以下词典:

{Header2: {key1: 1, key2: 3}, Header3: {key1: 2, key2: 4}}

有一种简单的方法吗? 我尝试使用csv DictReader或pandas,但没有得到一个简单的方法,虽然这看起来像一个常见的用例。

2 个答案:

答案 0 :(得分:2)

你可以使用大熊猫的to_dict方法' DataFrame实例。例如:

import pandas as pd
df = pd.read_csv('file.csv', delimiter=r',\s+', index_col=0)
print(df.to_dict())

答案 1 :(得分:0)

您可以使用csv模块执行此操作:

import csv 

f = open(csv_file_path)
reader = csv.DictReader(f)

fieldnames = reader.fieldnames
result = {fieldname:{} for fieldname in fieldnames[1:]}
for row in reader:
    for fieldname in fieldnames[1:]:
        result[fieldname][row['Header1'].strip()] = row[fieldname].strip()