我有一个csv文件如下:
a,green
a,red
a,blue
b,white
b,black
b,brown
我想将它读入python词典,如下所示
{'a':{'green','red','blue'},'b':{'white','black','brown'}}
我该怎么办?请帮帮我
答案 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
但我非常肯定,如果你花一些时间,这个解决方案还有很大的改进空间。