Ich habe aus einer Excel Tabelle personenbezogene Daten in eine Textdatei geschrieben, diese in einem anderen Programm erfolgreich in ein Dictionary umgewandelt und dieses in einer anderen Textdatei wiederum als String abgespeichert. Das ist notwendig um dieser Textdatei andere Daten aus anderen Quellen hinzuzufügen.
Das Dictionary sieht ungefähr aus: {"Vorname": "Peter", "Nachname": "Petersen", "Stra\u00dfe + Hausnummer": "Peterstr. 1", "PLZ": "12345", "Wohnort": "Peterhausen", "Telefon": "01234 29124", "Mobil": "0176 2131221", "Email": "peter.peter@peter.de", "Felder": ["Peters Zeltlager", "450€ Kraft"]} "\n"
*nächster Eintrag*
Das ist der Code mit dem er den String in ein Dictionary umwandeln soll:
Code: Alles auswählen
export = open("exports.txt","r")
export_s = export.read()
export_list = list(export_s.split('\n'))
print(export_list)
export_dict = {}
for item in export_list:
export_dict.update(i.split(':') for i in item.split(','))
print(export_dict)
line 8, in <module>
export_dict.update(i.split(':') for i in item.split(','))
ValueError: dictionary update sequence element #9 has length 1; 2 is required
Ich vermute, dass der Fehler darin besteht, dass innerhalb der Liste (Key: Felder) auch Kommata sind und das Programm deswegen versucht auch an dieser Stelle zu 'splitten'.
Nun zur eigentlichen Frage: Gibt es eine Möglichkeit diese Liste oder die Kommata darin zu ignorieren? Oder hat jemand einen mir bisher unerschließbaren anderen Lösungsansatz?
Würde mich über eine Antwort freuen
Gruß
Eutermän