使用csv文件创建嵌套字典

时间:2018-11-11 01:25:30

标签: python csv dictionary

我正在尝试从csv数据文件中创建多个嵌套字典。我不确定如何正确格式化字典。

这是csv文件

1,Afghanistan,MENA,20-24,Female,Urban,6.786986809,442.6952889,1.53%

我需要将countryregionage_groupgendergeographic_areadiabetespopulation拉成字符串/ floats。

以下是我的代码:

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,该字典将国家的字典嵌套在另一个具有元组糖尿病_数据值的年龄组中的另一区域词典中。

我不确定该怎么做,我目前正在使用一个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

1 个答案:

答案 0 :(得分:0)

D[region] = {country: {age_group: diabetes_data}}

这将在另一个字典中的一个字典中创建一个字典,并将其值作为元组。