<p>将<a href="https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.json_normalize.html" rel="nofollow noreferrer">^{<cd1>}</a>与<a href="http://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.set_index.html" rel="nofollow noreferrer">^{<cd2>}</a>一起使用:</p>
<pre><code>df = pd.json_normalize(response,
record_path=['details','address'],
meta=['name','empId', ['address','country']]
)
df = df.set_index(['name','empId','address.country'])
print (df)
street city
name empId address.country
xyz 007 xxz country x street x city
xxz country xx street xx city
yyz country y street y city
yyz country yy street yy city
</code></pre>
<p>对于较旧版本,请使用:</p>
<pre><code>df = pd.io.json.json_normalize(response,
record_path=['details','address'],
meta=['name','empId', ['address','country']]
)
</code></pre>
<p>编辑:</p>
<p>使用多个值进行测试,效果良好:</p>
<pre><code>response = [{
"name": "xyz",
"empId": "007",
"details": [{
"address": [{
"street": "x street",
"city": "x city"
}, {
"street": "xx street",
"city": "xx city"
}],
"country": "xxz country"
},
{
"address": [{
"street": "y street",
"city": "y city"
}, {
"street": "yy street",
"city": "yy city"
}],
"country": "yyz country"
}
]
},
{
"name": "xyz1",
"empId": "0071",
"details": [{
"address": [{
"street": "x street1",
"city": "x city1"
}, {
"street": "xx stree1t",
"city": "xx city1"
}],
"country": "xxz country"
},
{
"address": [{
"street": "y street",
"city": "y city"
}, {
"street": "yy street",
"city": "yy city"
}],
"country": "yyz country"
}
]
}]
</code></pre>
<hr/>
<pre><code>df = pd.json_normalize(response,
record_path=['details','address'],
meta=['name','empId', ['address','country']]
)
df = df.set_index(['name','empId','address.country'])
</code></pre>
<hr/>
<pre><code>print (df)
street city
name empId address.country
xyz 007 xxz country x street x city
xxz country xx street xx city
yyz country y street y city
yyz country yy street yy city
xyz1 0071 xxz country x street1 x city1
xxz country xx stree1t xx city1
yyz country y street y city
yyz country yy street yy city
</code></pre>