由于数据长度不等,将嵌套的 JSON 列表展平为 Pandas DataFrame 的问题

我目前正在尝试使用以下格式的 JSON 文件:


response = {

    "leads": [{

        "id": 208827181,

        "campaignId": 2595,

        "contactId": 2919361,

        "contactAttempts": 1,

        "contactAttemptsInvalid": 0,

        "lastModifiedTime": "2017-03-14T13:37:20Z",

        "nextContactTime": "2017-03-15T14:37:20Z",

        "created": "2017-03-14T13:16:42Z",

        "updated": "2017-03-14T13:37:20Z",

        "lastContactedBy": 1271,

        "status": "automaticRedial",

        "active": True,

        "masterData": [{

                "id": 2054,

                "label": "Firmanavn",

                "value": "Firma_1"

            },

            {

                "id": 2055,

                "label": "Adresse",

                "value": "Gadenavn_1"

            },

            {

                "id": 2056,

                "label": "Postnr.",

                "value": "2000"

            },

            {

                "id": 2057,

                "label": "Bydel",

                "value": "Frederiksberg"

            },

            {

                "id": 2058,

                "label": "Telefonnummer",

                "value": "25252525"

            }

        ]

    }]

}

masterData 采用嵌套列表格式,但长度也不同。基本上,每一行/条目都可以分配不同的列。我希望为每个条目保留一个或多个特定的列。但是,对于我当前的索引,由于嵌套列表的长度不同,我的索引会中断。这是我的代码:


leads = json_normalize(response['leads'])

df = pd.concat([leads.drop('masterData', 1),

            pd.DataFrame(list(pd.DataFrame(list(leads['masterData']))[4]))

                        .drop(['id', 'label'], 1)

                        .rename(columns={"value": "tlf"})], axis=1)

jeck猫
浏览 202回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python