[英]What can be the best approach for the following transformation?
我有一個字典列表如下:
items = [
{
"identification":{
"id":"ID1",
"FCID":"FCID1"
},
"attributes":[
{
"key":"KEY1",
"value":"VALUE11"
},
{
"key":"KEY2",
"value":"VALUE12"
},
{
"key":"KEY3",
"value":"VALUE13"
}
]
},
{
"identification":{
"id":"ID2",
"FCID":"FCID2"
},
"attributes":[
{
"key":"KEY1",
"value":"VALUE21"
},
{
"key":"KEY2",
"value":"VALUE22"
},
{
"key":"KEY3",
"value":"VALUE23"
},
{
"key":"KEY4",
"value":"VALUE24"
}
]
}
]
現在我想要的輸出是:(以 Python DataFrame 的形式)
ID FCID KEY1 KEY2 KEY3 KEY4
1 F1 VALUE11 VALUE12 VALUE13 None
2 F2 VALUE21 VALUE22 VALUE23 VALUE24
我不能改變它的結構。 這是我從 API 接收到的數據。 那么,我怎樣才能做到這一點? 有任何想法嗎
您可以嘗試使用列表理解,
import pandas as pd
flatten = (
{**{v['key']: v['value'] for v in i['attributes']}, **i['identification']}
for i in items
)
pd.DataFrame(flatten)
Out[*]:
KEY1 KEY2 KEY3 id FCID KEY4
0 VALUE11 VALUE12 VALUE13 ID1 FCID1 NaN
1 VALUE21 VALUE22 VALUE23 ID2 FCID2 VALUE24
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.