簡體   English   中英

以下轉換的最佳方法是什么?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM