response[0]={'@type': 'g:Vertex',
'@value': {'id': 'account-2199023262994',
'label': 'Account',
'properties': {'account_number': [{'@type': 'g:VertexProperty',
'@value': {'id': {'@type': 'g:Int32',
'@value': 544016139},
'value': '0002-1990-2326-2994',
'label': 'account_number'}}],
'last_name': [{'@type': 'g:VertexProperty',
'@value': {'id': {'@type': 'g:Int32',
'@value': -1616372909},
'value': 'Law-Yone',
'label': 'last_name'}}],
'first_name': [{'@type': 'g:VertexProperty',
'@value': {'id': {'@type': 'g:Int32',
'@value': -451458550},
'value': 'Eric',
'label': 'first_name'}}]}}}
我在列表中有一个嵌套字典,它是另一个嵌套字典的一部分。上面的整个代码片段本身就是列表的一个元素 response
.
我尝试使用以下方法将其展平:
pd.json_normalize(response, meta = ['@type', ['@value', 'id'], ['@value', 'label'], ['@value', 'properties']])
上述代码的输出为:
我也希望能把字典的内部列表弄平。
有人能帮我吗?我需要迭代 Dataframe 还是有直接可用的方法?
编辑:预期输出如下
1条答案
按热度按时间u1ehiz5o1#
可以使用递归生成器函数逐行获得完全展平的结果,然后使用
collections.defaultdict
将帐户id上的行分组。从那里,您可以抓取所需的键来构建最终帐户pd.DataFrame
:输出: