为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

jeck猫 2021-07-23 17:08:23
我目前正在尝试使用以下格式的 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)
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 200 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信