Я пытаюсь прочитать данные из и создать вложенный словарь словарей.Здесь есть похожий вопрос , но я не могу понять, как адаптировать решение к моей конкретной проблеме.Я был бы очень признателен, если бы кто-то мог объяснить мне решение моей проблемы.
По сути, у меня есть файл, который выглядит следующим образом:
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
Может кто-нибудь объяснить, как создать внешний словарь?Единственная идея, которая у меня есть, - это прочитать файл и создать внутренний словарь, а затем перечитать файл, чтобы создать внешний словарь.Наверняка должен быть более простой способ?Заранее спасибо за помощь!