0
我有如下一个CSV文件:如何csvfile读入字典格式
a,green
a,red
a,blue
b,white
b,black
b,brown
我想把它读入Python字典如下
{'a':{'green','red','blue'},'b':{'white','black','brown'}}
我该怎么办?请帮助我
我有如下一个CSV文件:如何csvfile读入字典格式
a,green
a,red
a,blue
b,white
b,black
b,brown
我想把它读入Python字典如下
{'a':{'green','red','blue'},'b':{'white','black','brown'}}
我该怎么办?请帮助我
我会假设你想与价值观的每个键
{'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
但如果你花一些时间在这个方面,我很确定这个解决方案有很大的改进空间。
这似乎是一个非常简单的'csv'和'collections.defaultdict'应用程序。你有什么特别的问题吗?您能向我们展示给您带来麻烦的代码,以便我们可以定制我们的建议来帮助引导您的理解,而不仅仅是给您一些代码? – mgilson
你可能需要: https://docs.python.org/2/library/csv.html 然后做一个循环来附加你的字典。然后请张贴一些代码! – Dadep