Этот вопрос проясняет проблему, возникающую у меня при работе со строкой в источнике файла и добавлении ее в список ключей словаря, расширенный из другого вопроса SO.Ниже приведен пример исходного файла:
Name: David
Age: 23
Name: Ally
Age: 21
Age: 20
Name: John
Name: Peter
Age: 22
Если вы заметили, что у файла есть имя, возраст, имя, возраст и неожиданно возраст, имя и имя, возраст ... Это может произойти (искажено междуимя и возраст) к любым строкам в файле.
Если все начинается с имени и заканчивается возрастом;затем я могу прочитать и разобрать его один за другим в список словарей с таким кодом:
file = open("file")
data = file.readlines()
data = [i.strip() for i in data]
dict_ = {"Person":[]}
for i in range(0,len(data),2):
line = data[i].split(':')
nxt_line = data[i+1].split(':')
dict_['Person'].append({'Name':line[1], 'Age': nxt_line[1]})
Проблема в том, что некоторые строки имени и возраста скручены в файле данных, как пример файла данных выше, ипри запуске кода это значение неправильно анализируется.
Как обеспечить правильную передачу значения имени и возраста в словарь, даже если позиция имени и возраста в исходном файле перевернута и не следуетпоследовательность.
Пожалуйста, сообщите.Спасибо.