我正在尝试读取数据并创建一个字典的嵌套字典。有一个类似的问题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