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