У меня есть .txt
файл, который необходимо преобразовать в дикторион: (порядок строк может отличаться)
name : john doe
age : 23
gender : MALE
address : kendall 6, Miami
career: mechanical engineer
times going : 2
number of assignments : 4
semester : 4
average : 9.2
interests : gaming, robotics, drama movies
availability:
friday : 6:30 - 10:30
sunday : 12:30 - 13:30
monday : 16:30 - 18:30
Выходной код должен выглядеть следующим образом:
{'name': 'john doe',
'age': '23',
'gender': 'MALE',
'address': 'kendall 6, Miami',
'semester': '4',
'career': 'mechanical engineer',
'average': '9.2',
'times going': '2',
'number of assignments': '5',
'interests': 'gaming, robotics, drama movies',
'availability':
{'friday': (630,1030),
'sunday': (1230,1330),
'monday': (1630,1830)
}
}
На данный момент я успешно создал словарь прямо перед этим разделом «доступности»:
dicc={}
listRestrictions=["availability","monday","tuesday","wednesday","thursday","friday","saturday","sunday"]
for line in file:
line = line.strip("\n").replace(" : ", ":").strip(" ")
key = line[: line.index(":")]
if key not in listRestrictions:
value = line[line.index(":") + 1 :]
dicc[key] = value
print(dicc)
И печатает:
{'name': 'john doe', 'age': '23', 'gender': 'MALE', 'address': 'kendall 6, Miami', 'career': 'mechanical engineer', 'times going': '2', 'number of assignments': '4', 'semester': '4', 'average': '9.2', 'interests': 'gaming, robotics, drama movies'}
(помня это может быть в любом файле .txt
, и что даты всегда будут находиться в «доступности») ... Как бы я принял «доступность» в качестве значения, а затем даты в качестве под-словаря как показано выше?