假设我有这个csv文件:
Header1, Header2, Header3
key1, 1, 2
key2, 3, 4
我想将其转换为以下dict:
{Header2: {key1: 1, key2: 3}, Header3: {key1: 2, key2: 4}}
有简单的方法吗?我尝试过使用csv DictReader或pandas,但没有找到一个简单的方法,尽管在我看来这是一个常见的用例。
您可以使用Panda的DataFrame实例的to_dict
方法。例如:
import pandas as pd
df = pd.read_csv('file.csv', delimiter=r',s+', index_col=0)
print(df.to_dict())
您可以使用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()