Я пытаюсь создать несколько вложенных словарей из файла данных CSV. Я не уверен, как правильно отформатировать словарь.
Вот CSV-файл
1,Afghanistan,MENA,20-24,Female,Urban,6.786986809,442.6952889,1.53%
Мне нужно вытащить country
, region
, age_group
, gender
, geographic_area
, diabetes
и population
как строки / числа с плавающей запятой.
Вот мой код:
diabetes_data = []
D = {}
fp.readline()
for line in fp:
line = line.split(',')
country = str(line[1])
region = str(line[2])
age_group = str(line[3])
gender = str(line[4])
geographic_area = str(line[5])
diabetes = int(float(line[6])*1000)
population = int(float(line[7])*1000)
tup = (gender, geographic_area, diabetes, population)
diabetes_data.append(tup)
D = {country: region: age_group: diabetes_data }
Я пытаюсь вернуть готовый словарь D, в который словарь страны вложен в другой словарь региона, в другой словарь возрастной группы, который имеет значения кортежа diabetes_data.
Я не уверен, как это сделать, в настоящее время я использую цикл for и не уверен, нужно ли мне иметь несколько.
Окончательный словарь должен выглядеть следующим образом:
{'MENA': {'Afghanistan': {'20-24': [('Female', 'Urban', 6786,
442695), ('Male', 'Urban', 2699, 474429)], '35-39': [('Female',
'Urban', 17834, 237228), ('Male', 'Urban', 14852, 262910)], '50-54':
[('Female', 'Urban', 21715, 117219), ('Male', 'Urban', 23055,
126786)], ... and so on