如何展平包含值中的列表和dict的嵌套字典并将其导出为电子表格

2024-09-30 02:31:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我对Python中的嵌套字典有一个问题。它是以下示例的一部分:

mydict = {'Carcompany': {'Brand': 'Ford',
  'Factory': {'Country': 'Germany',
   'Workers': {'Engineers': '150', 'Mechanics': '200'},
   'FactoryDetails': [{'FactoryCode': '1',
     'FactoryCity': 'Cologne',
     'FactoryCityDetail': [{'Shifts': 'Day',
       'Days': '7'},
      {'Shifts': 'Night', 'Days': '5'}]},
    {'FactoryCode': '2',
     'FactoryCity': 'Berlin',
     'FactoryCityDetail': {'Shifts': 'Night',
      'Days': '5'}}]}}}

所以这里有一个包含dict列表的值,也有一个包含dict列表的值。深度不同,我的目标是excel电子表格或关系数据库表,如下所示:

enter image description here

我尝试通过pd.io.json.json_normalize()将字典展平,以获得一个数据帧,找到列表,分解列并再次展平它们。这种解决方案速度非常慢,而且在更深入、更嵌套的情况下会失败

我的想法是使用递归方法,但到目前为止,当涉及字典列表(因为更新dict值)或为每个值返回枚举的单行时,我在stackoverflow上找到的一切都失败了


Tags: json示例列表字典daysdictmydictshifts

热门问题