<p>您需要一些<code>json_normalize</code>行为,但需要自定义扭曲。因此,对数据的一部分使用<code>json_normalize</code>或类似的方法,然后将其与数据的其余部分合并。你知道吗</p>
<p>下面的代码更倾向于使用“或类似”路径,到达深度<a href="https://github.com/pandas-dev/pandas/blob/2b9b58dadf8a4e02b94747b6c8b22bec4b6eeefd/pandas/io/json/normalize.py#L28" rel="nofollow noreferrer">into the pandas codebase</a>以获得<code>nested_to_record</code>帮助函数,该函数将字典展平。它用于创建单独的行,这些行将基础数据(所有属性中通用的键/值)与特定于每个道具条目的平坦数据相结合。有一个注释掉的行在没有<code>nested_to_record</code>的情况下做相同的事情,但是它有点不雅观地变平为<code>DataFrame</code>,然后导出到<code>dict</code>。你知道吗</p>
<pre class="lang-py prettyprint-override"><code>from collections import OrderedDict
import json
import pandas as pd
from pandas.io.json.normalize import nested_to_record
data = json.loads(rawjson)
props = data.pop('props')
rows = []
for prop in props:
rowdict = OrderedDict(data)
flattened_prop = nested_to_record({'props': prop})
# flatteded_prop = json_normalize({'props': prop}).to_dict(orient='records')[0]
rowdict.update(flattened_prop)
rows.append(rowdict)
df = pd.DataFrame(rows)
</code></pre>
<p>导致:</p>
<p><a href="https://i.stack.imgur.com/St8Sq.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/St8Sq.png" alt="output data frame"/></a></p>