Pandas读取嵌套的JSON。

10 浏览
0 Comments

Pandas读取嵌套的JSON。

我很好奇如何使用pandas读取以下结构的嵌套JSON:

{

"number": "",

"date": "01.10.2016",

"name": "R 3932",

"locations": [

{

"depTimeDiffMin": "0",

"name": "Spital am Pyhrn Bahnhof",

"arrTime": "",

"depTime": "06:32",

"platform": "2",

"stationIdx": "0",

"arrTimeDiffMin": "",

"track": "R 3932"

},

{

"depTimeDiffMin": "0",

"name": "Windischgarsten Bahnhof",

"arrTime": "06:37",

"depTime": "06:40",

"platform": "2",

"stationIdx": "1",

"arrTimeDiffMin": "1",

"track": ""

},

{

"depTimeDiffMin": "",

"name": "Linz/Donau Hbf",

"arrTime": "08:24",

"depTime": "",

"platform": "1A-B",

"stationIdx": "22",

"arrTimeDiffMin": "1",

"track": ""

}

]

}

这里将数组保留为JSON。我更希望它展开成列。

pd.read_json("/myJson.json", orient='records')

编辑

感谢前几个回答。

我应该进一步明确我的问题:

对数组中的嵌套属性进行展平不是必需的。

只需将df.locations['name']连接为[A, B, C]即可。

我的文件包含多个JSON对象(每行一个),我想保留number,date,name和locations列。但是,我需要将locations连接起来。

allLocations = ""
isFirst = True
for location in result.locations:
    if isFirst:
        isFirst = False
        allLocations = location['name']
    else:
        allLocations += "; " + location['name']
allLocations

我的方法似乎不够高效/符合pandas风格。

0