如何将csvfile读入字典格式

时间:2016-11-30 18:52:01

标签: python

我有一个csv文件如下:

a,green
a,red
a,blue
b,white
b,black
b,brown

我想将它读入python词典,如下所示

{'a':{'green','red','blue'},'b':{'white','black','brown'}}

我该怎么办?请帮帮我

1 个答案:

答案 0 :(得分:0)

我假设你想要一个带有每个键值列表的dict

{'a':['green','red','blue'],'b':['white','black','brown']}

如果是这样,可能的快速解决方法可能是这样的

import csv

# Get a all the rows in the format [[k, v], ...]
rows = list(csv.reader(open('file_path_here', 'r')))
# Get all the unique keys
keys = set(r[0] for r in rows)

# Get a list of values for the given key
def get_values_list(key, _rows):
    return [r[1] for r in _rows if r[0] == key]

# Generate the dict
keys_dict = dict((k, get_values_list(k, rows)) for k in keys)

print keys_dict

但我非常肯定,如果你花一些时间,这个解决方案还有很大的改进空间。