我对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电子表格或关系数据库表,如下所示:
我尝试通过pd.io.json.json_normalize()将字典展平,以获得一个数据帧,找到列表,分解列并再次展平它们。这种解决方案速度非常慢,而且在更深入、更嵌套的情况下会失败
我的想法是使用递归方法,但到目前为止,当涉及字典列表(因为更新dict值)或为每个值返回枚举的单行时,我在stackoverflow上找到的一切都失败了
不确定您是否查看过
flatten_json
Flatten JSON。我用它为复杂的JSON-flatten_json recursive flattening function for lists编写了一个递归函数相关问题 更多 >
编程相关推荐