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

Python - 展平嵌套的 JSON 文件

Python - 展平嵌套的 JSON 文件

倚天杖 2023-05-09 10:35:53
我正在处理从诺贝尔奖 API 中提取的 API 数据。特别是以下端点(Nobel API 版本 2):https://api.nobelprize.org/2.0/laureates我已经使用我构建的简单 Python 脚本成功地提取了它们。以下是 JSON 文件内容的一些示例。但首先,请允许我提前对片段的长度表示歉意。我找不到更好的方式来呈现它。类型 - 1{    "laureates": [        {            "birth": {                "date": "1943-00-00",                "place": {                    "city": {                        "en": "Montclair, NJ",                        "no": "Montclair, NJ",                        "se": "Montclair, NJ"                    },                    "cityNow": {                        "en": "Montclair, NJ",                        "no": "Montclair, NJ",                        "se": "Montclair, NJ"                    },                    "continent": {                        "en": "North America"                    },                    "country": {                        "en": "USA",                        "no": "USA",                        "se": "USA"                    },                    "countryNow": {                        "en": "USA",                        "no": "USA",                        "se": "USA"                    },                    "locationString": {                        "en": "Montclair, NJ, USA",                        "no": "Montclair, NJ, USA",                        "se": "Montclair, NJ, USA"                    }                }            },            "familyName": {                "en": "Spence",                "se": "Spence"            },            "fullName": {                "en": "A. Michael Spence",                "se": "A. Michael Spence"            },            "gender": "male",            "givenName": {                "en": "A. Michael",                "se": "A. Michael"            },            "id": "745",            "knownName": {                "en": "A. Michael Spence",                "se": "A. Michael Spence"            },
查看完整描述

1 回答

?
BIG阳

TA贡献1859条经验 获得超6个赞

假设您的第一个片段存储在一个名为 的变量中data,您需要做的就是:


import pandas


laureates: pandas.core.frame.DataFrame = pandas.json_normalize(data['laureates'])

它会给你一个 DataFrame。问题是每个获奖者都有诺贝尔奖列表,因此您可能希望将其提取到一个单独的 DataFrame 中(否则您最终会得到一个 DF,列中有一个字典列表nobelPrizes)


查看完整回答
反对 回复 2023-05-09
  • 1 回答
  • 0 关注
  • 104 浏览
慕课专栏
更多

添加回答

举报

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