I have a problem. I have an array
with a dict
inside, and this dict
is nested. I found pd.json_normalize(...)
but unfortunately I have many nested keys
e.g. contactEditor
.
I found this question Use json_normalize to normalize json with nested arrays , How to convert a nested dict, to a pandas dataframe and so on, But I am not aware how to enter all the nested keys
, I have run the code snippet below I got KeyError: 'contactSoldToParty'
.
So how can I convert this list
respectively this dict
into a dataframe
, with all the nested keys
.
df= pd.json_normalize(my_data, all_nested_keys)
my_data = [
{'_id': 'orders/213123',
'contactEditor': {'name': 'Max Power',
'phone': '1234567',
'email': 'max@power.com'},
'contactSoldToParty': {'name': 'Max Not',
'phone': '123456789',
'email': 'maxnot@power.com'},
'isCompleteDelivery': False,
'metaData': {'dataOriginSystem': 'Goods',
'dataOriginWasCreatedTime': '10:12:12',},
'orderDate': '2021-02-22',
'orderDateBuyer': '2021-02-22',
},
{'_id': 'orders/12323',
'contactEditor': {'name': 'Max Power2',
'phone': '1234567',
'email': 'max@power.com'},
'contactSoldToParty': {'name': 'Max Not',
'phone': '123456789',
'email': 'maxnot@power.com'},
'isCompleteDelivery': False,
'metaData': {'dataOriginSystem': 'Goods',
'dataOriginWasCreatedTime': '10:12:12',},
'orderDate': '2021-02-22',
'orderDateBuyer': '2021-02-22',
},
]
all_nested_keys = []
for key in collection__orders_copy_new[0]:
if isinstance(collection__orders_copy_new[0][key], dict):
#print(key)
all_nested_keys.append(key)
print(all_nested_keys)
What I want
id contactEditor_name contactEditor_phone contactEditor_email ...
orders/213123 Max Power ... ... ...
orders/12323 Max Power2 ... ... ...