J'essaie de lire dans les données et de créer un dictionnaire imbriqué de dictionnaires. Il y a une question similaire here, mais je n'arrive pas à comprendre comment adapter une solution à mon problème particulier. Je serais très reconnaissant si quelqu'un pourrait m'expliquer une solution pour mon problème.Comment créer une structure de dictionnaire complexe en Python?
Fondamentalement, j'ai un fichier qui ressemble à ceci:
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
Je dois créer un dictionnaire complexe qui ressemble à ceci:
complete_dict = {A:{'abc':[[12, 0.001], [22, 0.120]]},
B:{'tex':[[34, 0.002], [78, 0.005]]},
E:{'yet':[[88, 0.090]]}}
je peux créer le dictionnaire intérieur, mais je ne peut pas comprendre comment créer le dictionnaire externe. Voici mon code pour le dictionnaire interne:
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
Quelqu'un pourrait-il expliquer comment créer le dictionnaire externe? La seule idée que j'ai est de lire le fichier et de créer le dictionnaire interne, puis relire le fichier pour créer le dictionnaire externe. Sûrement il doit y avoir un moyen plus facile? Merci d'avance pour l'aide!
Fantastique! Merci pour l'aide, cela a fait ma journée! – drbunsen