我正在嘗試讀取數據並創建一個字典的嵌套字典。有一個類似的問題here,但我似乎無法弄清楚如何使解決方案適應我的特定問題。如果有人能爲我的問題解釋我的解決方案,我將非常感激。如何在Python中創建複雜的字典結構?
基本上,我有一個看起來像這樣的文件:
A 'abc' 12 0.001
B 'tex' 34 0.002
B 'tex' 78 0.005
E 'yet' 88 0.090
A 'abc' 22 0.120
我需要創建一個複雜的字典,看起來像這樣:
complete_dict = {A:{'abc':[[12, 0.001], [22, 0.120]]},
B:{'tex':[[34, 0.002], [78, 0.005]]},
E:{'yet':[[88, 0.090]]}}
我可以創建內部字典,但我無法弄清楚如何創建外部字典。這是我的內部字典代碼:
with open('data.txt', mode="r") as data_file:
fieldnames = ('character', 'string', 'value1', 'value2')
reader = csv.DictReader(data_file, fieldnames=fieldnames, delimiter="\t")
inner_dict = {}
for row in reader:
values = [int(row['value1']), float(row['value2'])]
string = row['string']
if string in inner_dict:
inner_dict[string].append(values)
else:
inner_dict[string] = values
有人可以解釋如何創建外部字典嗎?我唯一的想法是讀取文件並創建內部字典,然後重新讀取該文件以創建外部字典。當然必須有一個更簡單的方法?先謝謝您的幫助!
太棒了!感謝您的幫助,這使我的一天! – drbunsen