首页 > 解决方案 > Python JSON 到数据框

问题描述

我有 json 格式

   {
   "projects":[
      {
         "author":{
            "id":163,
            "name":"MyApp",
            "easy_external_id":null
         },
         "sum_time_entries":0,
         "sum_estimated_hours":29,
         "currency":"EUR",
         "custom_fields":[
            {
               "id":42,
               "name":"System",
               "internal_name":null,
               "field_format":"string",
               "value":null
            },
            {
               "id":40,
               "name":"Short describe",
               "internal_name":null,
               "field_format":"string",
               "value":""
            }
         ]
      }
   ]"total_count":1772,
   "offset":0,
   "limit":1
}

而且我不知道如何将此 Json“完全”转换为数据框。分别,我只想要projects. 但是当我这样做时:

df = pd.DataFrame(data['projects'])

虽然我只从项目中获取数据框,但在某些列(例如:authorcustom_fields)中,格式仍将保持未分解,我也想在这些列中分解它。有人可以建议吗?

我预计:

作者.id 作者姓名 author.easy_external_id sum_time_entries 货币 custom_fields.id custom_fields.name ETC..
163 我的应用 无效的 0 欧元 42 系统 ...

标签: pythonjsonpandasdataframe

解决方案


尝试:

df = pd.json_normalize(data['projects'])

请参阅此处的文档。


推荐阅读