扁平化JSON响应

时间:2020-06-29 07:53:57

标签: python json pandas csv flatten

由于我实际上不需要该JSON的结尾,因此在弄平该JSON时遇到了问题,因此我有可能将其删除(在JSON进行扁平化之前或之后)。我想在Python中执行此操作,并尝试将json_normalized和Panda导出到CSV。

特殊的是,最后三项,TotalNumberOfMunicipalities,TotalCitizens,Aggregations,位于我希望在进行扁平化之后导出为CSV的部分之外。

JSON:

{
    "Municipalities": [
        {
            "Name": "Stockholm",
            "NumberOfCitizens": 974073,
            "Id": "5203d2be-7cda-4caf-9fb5",
            "Attributes": [],
            "Location": {
                "Lat": 59.33,
                "Lon": 18.06
            },
            "PoliticalGovernance": 1
        },
        {
            "Name": "Uppsala",
            "NumerOfCitizens": 230767,
            "Id": "d155e5f5-b94a-4d0e-ba80",
            "Attributes": [],
            "Location": {
                "Lat": 59.86,
                "Lon": 17.64
            },
            "PoliticalGovernance": 3
        }
    ],
    "TotalNumberOfMunicipalities": 33,
    "TotalCitizens": 4000000,
    "Aggregations": {}
}

我希望输出如何 enter image description here

1 个答案:

答案 0 :(得分:2)

使用pd.json_normalize

df = pd.json_normalize(d, 'Municipalities')
print (df)
        Name  NumberOfCitizens                       Id Attributes  \
0  Stockholm            974073  5203d2be-7cda-4caf-9fb5         []   
1    Uppsala            230767  d155e5f5-b94a-4d0e-ba80         []   

   PoliticalGovernance  Location.Lat  Location.Lon  
0                    1         59.33         18.06  
1                    3         59.86         17.64