Python 扁平化熊猫中的嵌套json

Python 扁平化熊猫中的嵌套json,python,json,pandas,json-normalize,Python,Json,Pandas,Json Normalize,我收到了JSON格式的天气观测数据,我想将其展平 一个完整的记录 第一个位置,包含25个报告,Rep在'Period' {'SiteRep':{'DV':{'type':'Obs', 'Location':[{'i':'3002', “lat”:“60.749”, ‘lon’:‘-0.854’, 'name':'BALTASOUND', '期间':[{'Rep':{'$':'1380', ‘D’:‘SW’, ‘G’:‘34’, ‘H’:‘79.5’, ‘P’:‘1019’, ‘S’:‘25’

我收到了JSON格式的天气观测数据,我想将其展平

一个完整的记录
  • 第一个位置,包含25个报告,
    Rep
    'Period'
{'SiteRep':{'DV':{'type':'Obs',
'Location':[{'i':'3002',
“lat”:“60.749”,
‘lon’:‘-0.854’,
'name':'BALTASOUND',
'期间':[{'Rep':{'$':'1380',
‘D’:‘SW’,
‘G’:‘34’,
‘H’:‘79.5’,
‘P’:‘1019’,
‘S’:‘25’,
‘T’:‘7.9’,
“V”:“13000”,
‘W’:‘8’,
“Dp”:“4.6”,
'Pt':'F'},
'type':'Day',
“值”:“2019-12-31Z”},
{'Rep':[{'$':'0',
‘D’:‘SW’,
‘G’:‘32’,
‘H’:‘84.0’,
‘P’:‘1018’,
‘S’:‘21’,
‘T’:‘7.5’,
“V”:“13000”,
‘W’:‘8’,
“Dp”:“5.0”,
'Pt':'F'},
{'$': '60',
‘D’:‘SW’,
‘G’:‘34’,
‘H’:‘81.7’,
‘P’:‘1018’,
‘S’:‘22’,
‘T’:‘7.5’,
“V”:“12000”,
‘W’:‘8’,
“Dp”:“4.6”,
'Pt':'F'},
{'$': '120',
‘D’:‘SW’,
‘G’:‘36’,
‘H’:‘79.9’,
‘P’:‘1017’,
‘S’:‘24’,
‘T’:‘7.9’,
“V”:“11000”,
‘W’:‘8’,
“Dp”:“4.7”,
'Pt':'F'},
{'$': '180',
‘D’:‘SW’,
‘G’:‘40’,
‘H’:‘82.3’,
‘P’:‘1016’,
‘S’:‘23’,
‘T’:‘7.5’,
“V”:“13000”,
‘W’:‘8’,
“Dp”:“4.7”,
'Pt':'F'},
{'$': '240',
‘D’:‘SW’,
‘G’:‘33’,
‘H’:‘84.6’,
‘P’:‘1015’,
‘S’:‘18’,
‘T’:‘8.0’,
“V”:“12000”,
‘W’:‘8’,
“Dp”:“5.6”,
'Pt':'F'},
{'$': '300',
‘D’:‘SW’,
‘G’:‘33’,
‘H’:‘85.3’,
‘P’:‘1015’,
‘S’:‘24’,
‘T’:‘8.3’,
“V”:“11000”,
‘W’:‘8’,
“Dp”:“6.0”,
'Pt':'F'},
{'$': '360',
‘D’:‘WSW’,
‘G’:‘41’,
‘H’:‘89.0’,
‘P’:‘1014’,
‘S’:‘30’,
‘T’:‘8.5’,
"V":"8000",,
‘W’:‘8’,
“Dp”:“6.8”,
'Pt':'F'},
{'$': '420',
‘D’:‘SW’,
‘G’:‘43’,
‘H’:‘89.6’,
‘P’:‘1013’,
‘S’:‘28’,
‘T’:‘8.7’,
“V”:“7000”,
‘W’:‘7’,
“Dp”:“7.1”,
'Pt':'F'},
{'$': '480',
‘D’:‘SW’,
‘G’:‘39’,
‘H’:‘88.4’,
‘P’:‘1013’,
‘S’:‘23’,
‘T’:‘8.7’,
“V”:“15000”,
‘W’:‘7’,
“Dp”:“6.9”,
'Pt':'F'},
{'$': '540',
‘D’:‘SW’,
‘G’:‘40’,
‘H’:‘84.3’,
‘P’:‘1013’,
‘S’:‘29’,
‘T’:‘9.1’,
“V”:“19000”,
‘W’:‘8’,
“Dp”:“6.6”,
'Pt':'F'},
{'$': '600',
‘D’:‘SW’,
‘G’:‘41’,
‘H’:‘85.4’,
‘P’:‘1012’,
‘S’:‘24’,
‘T’:‘8.9’,
“V”:“12000”,
‘W’:‘8’,
“Dp”:“6.6”,
'Pt':'F'},
{'$': '660',
‘D’:‘SW’,
‘G’:‘38’,
‘H’:‘84.2’,
‘P’:‘1012’,
‘S’:‘28’,
‘T’:‘9.2’,
“V”:“13000”,
‘W’:‘8’,
“Dp”:“6.7”,
'Pt':'F'},
{'$': '720',
‘D’:‘SW’,
‘G’:‘47’,
‘H’:‘83.6’,
‘P’:‘1011’,
‘S’:‘32’,
‘T’:‘9.4’,
“V”:“12000”,
‘W’:‘8’,
“Dp”:“6.8”,
'Pt':'F'},
{'$': '780',
‘D’:‘WSW’,
‘G’:‘45’,
‘H’:‘84.8’,
‘P’:‘1011’,
‘S’:‘30’,
‘T’:‘9.4’,
“V”:“11000”,
‘W’:‘8’,
“Dp”:“7.0”,
'Pt':'F'},
{'$': '840',
‘D’:‘SW’,
‘G’:‘43’,
‘H’:‘86.0’,
‘P’:‘1010’,
‘S’:‘28’,
‘T’:‘9.4’,
“V”:“11000”,
‘W’:‘7’,
“Dp”:“7.2”,
'Pt':'F'},
{'$': '900',
‘D’:‘WSW’,
‘G’:‘40’,
‘H’:‘85.4’,
‘P’:‘1009’,
‘S’:‘29’,
‘T’:‘9.4’,
“V”:“12000”,
‘W’:‘8’,
“Dp”:“7.1”,
'Pt':'F'},
{'$': '960',
‘D’:‘SW’,
‘G’:‘39’,
‘H’:‘86.0’,
‘P’:‘1009’,
‘S’:‘25’,
‘T’:‘9.2’,
“V”:“11000”,
‘W’:‘8’,
“Dp”:“7.0”,
'Pt':'F'},
{'$': '1020',
‘D’:‘SW’,
‘G’:‘33’,
‘H’:‘87.8’,
‘P’:‘1009’,
‘S’:‘23’,
‘T’:‘8.9’,
“V”:“11000”,
‘W’:‘8’,
“Dp”:“7.0”,
'Pt':'F'},
{'$': '1080',
‘D’:‘SW’,
‘G’:‘36’,
‘H’:‘85.5’,
‘P’:‘1008’,
‘S’:‘23’,
‘T’:‘8.9’,
“V”:“11000”,
‘W’:‘8’,
“Dp”:“6.6”,
'Pt':'F'},
{'$': '1140',
‘D’:‘SW’,
‘G’:‘40’,
‘H’:‘86.6’,
‘P’:‘1007’,
‘S’:‘28’,
‘T’:‘8.8’,
“V”:“14000”,
‘W’:‘8’,
“Dp”:“6.7”,
'Pt':'F'},
{'$': '1200',
“D”:“SSW”,
‘G’:‘39’,
‘H’:‘84.8’,
‘P’:‘1006’,
‘S’:‘28’,
‘T’:‘8.8’,
“V”:“13000”,
‘W’:‘8’,
“Dp”:“6.4”,
'Pt':'F'},
{'$': '1260',
“D”:“SSW”,
‘G’:‘37’,
‘H’:‘87.7’,
‘P’:‘1005’,
‘S’:‘26’,
‘T’:‘8.0’,
“V”:“15000”,
‘W’:‘8’,
“Dp”:“6.1”,
'Pt':'F'},
{'$': '1320',
“D”:“S”,
‘G’:‘37’,
‘H’:‘88.4’,
‘P’:‘1003’,
‘S’:‘24’,
‘T’:‘8.0’,
“V”:“13000”,
‘W’:‘8’,
“Dp”:“6.2”,
'Pt':'F'},
{
SiteRep - DV - Location - Period (0) - Rep (0)
                                     - Rep(1)
                          Period (1) - Rep (0)
                                      - Rep(1)
| i | lat | lon  |  name |country | continent| elevation| name |Rep(0)$| Rep(0)D|Rep(0)G|..
|---|-----|------|-------|--------|----------|----------|------|-------|--------|-------|..
|   |     |      |       |        |          |          |      |       |        |        |
      
normalised_data = pd.json_normalize(df['observations'], record_path=['SiteRep','DV','Location'])
       i     lat     lon                 name   country continent elevation type        value Rep.$ Rep.D Rep.G Rep.H Rep.P Rep.S Rep.T  Rep.V Rep.W Rep.Dp Rep.Pt
0   3002  60.749  -0.854           BALTASOUND  SCOTLAND    EUROPE      15.0  Day  2019-12-31Z  1380    SW    34  79.5  1019    25   7.9  13000     8    4.6      F
1   3002  60.749  -0.854           BALTASOUND  SCOTLAND    EUROPE      15.0  Day  2020-01-01Z     0    SW    32  84.0  1018    21   7.5  13000     8    5.0      F
2   3002  60.749  -0.854           BALTASOUND  SCOTLAND    EUROPE      15.0  Day  2020-01-01Z    60    SW    34  81.7  1018    22   7.5  12000     8    4.6      F
3   3002  60.749  -0.854           BALTASOUND  SCOTLAND    EUROPE      15.0  Day  2020-01-01Z   120    SW    36  79.9  1017    24   7.9  11000     8    4.7      F
4   3002  60.749  -0.854           BALTASOUND  SCOTLAND    EUROPE      15.0  Day  2020-01-01Z   180    SW    40  82.3  1016    23   7.5  13000     8    4.7      F
5   3002  60.749  -0.854           BALTASOUND  SCOTLAND    EUROPE      15.0  Day  2020-01-01Z   240    SW    33  84.6  1015    18   8.0  12000     8    5.6      F
6   3002  60.749  -0.854           BALTASOUND  SCOTLAND    EUROPE      15.0  Day  2020-01-01Z   300    SW    33  85.3  1015    24   8.3  11000     8    6.0      F
7   3002  60.749  -0.854           BALTASOUND  SCOTLAND    EUROPE      15.0  Day  2020-01-01Z   360   WSW    41  89.0  1014    30   8.5   8000     8    6.8      F
8   3002  60.749  -0.854           BALTASOUND  SCOTLAND    EUROPE      15.0  Day  2020-01-01Z   420    SW    43  89.6  1013    28   8.7   7000     7    7.1      F
9   3002  60.749  -0.854           BALTASOUND  SCOTLAND    EUROPE      15.0  Day  2020-01-01Z   480    SW    39  88.4  1013    23   8.7  15000     7    6.9      F
10  3002  60.749  -0.854           BALTASOUND  SCOTLAND    EUROPE      15.0  Day  2020-01-01Z   540    SW    40  84.3  1013    29   9.1  19000     8    6.6      F
11  3002  60.749  -0.854           BALTASOUND  SCOTLAND    EUROPE      15.0  Day  2020-01-01Z   600    SW    41  85.4  1012    24   8.9  12000     8    6.6      F
12  3002  60.749  -0.854           BALTASOUND  SCOTLAND    EUROPE      15.0  Day  2020-01-01Z   660    SW    38  84.2  1012    28   9.2  13000     8    6.7      F
13  3002  60.749  -0.854           BALTASOUND  SCOTLAND    EUROPE      15.0  Day  2020-01-01Z   720    SW    47  83.6  1011    32   9.4  12000     8    6.8      F
14  3002  60.749  -0.854           BALTASOUND  SCOTLAND    EUROPE      15.0  Day  2020-01-01Z   780   WSW    45  84.8  1011    30   9.4  11000     8    7.0      F
15  3002  60.749  -0.854           BALTASOUND  SCOTLAND    EUROPE      15.0  Day  2020-01-01Z   840    SW    43  86.0  1010    28   9.4  11000     7    7.2      F
16  3002  60.749  -0.854           BALTASOUND  SCOTLAND    EUROPE      15.0  Day  2020-01-01Z   900   WSW    40  85.4  1009    29   9.4  12000     8    7.1      F
17  3002  60.749  -0.854           BALTASOUND  SCOTLAND    EUROPE      15.0  Day  2020-01-01Z   960    SW    39  86.0  1009    25   9.2  11000     8    7.0      F
18  3002  60.749  -0.854           BALTASOUND  SCOTLAND    EUROPE      15.0  Day  2020-01-01Z  1020    SW    33  87.8  1009    23   8.9  11000     8    7.0      F
19  3002  60.749  -0.854           BALTASOUND  SCOTLAND    EUROPE      15.0  Day  2020-01-01Z  1080    SW    36  85.5  1008    23   8.9  11000     8    6.6      F
20  3002  60.749  -0.854           BALTASOUND  SCOTLAND    EUROPE      15.0  Day  2020-01-01Z  1140    SW    40  86.6  1007    28   8.8  14000     8    6.7      F
21  3002  60.749  -0.854           BALTASOUND  SCOTLAND    EUROPE      15.0  Day  2020-01-01Z  1200   SSW    39  84.8  1006    28   8.8  13000     8    6.4      F
22  3002  60.749  -0.854           BALTASOUND  SCOTLAND    EUROPE      15.0  Day  2020-01-01Z  1260   SSW    37  87.7  1005    26   8.0  15000     8    6.1      F
23  3002  60.749  -0.854           BALTASOUND  SCOTLAND    EUROPE      15.0  Day  2020-01-01Z  1320     S    37  88.4  1003    24   8.0  13000     8    6.2      F
24  3002  60.749  -0.854           BALTASOUND  SCOTLAND    EUROPE      15.0  Day  2020-01-01Z  1380     S    38  89.6  1002    29   7.6  11000     8    6.0      F
25  3005  60.139  -1.183  LERWICK (S. SCREEN)  SCOTLAND    EUROPE      82.0  Day  2019-12-31Z  1380     W    41  89.5  1020    28   7.2  15000     8    5.6      F