1 回答

TA貢獻(xiàn)1725條經(jīng)驗(yàn) 獲得超8個(gè)贊
可能有點(diǎn)矯枉過(guò)正,但是JMESPath
查詢嵌套的 JSON 結(jié)構(gòu)真的很容易。
向下遍歷文檔,您首先需要獲取數(shù)組 ( [*]
) 中的每個(gè)元素,然后為每個(gè)元素選擇項(xiàng)目并將其放入一個(gè)對(duì)象(Python 字典)中。您將選擇下方的社區(qū)properties
,然后選擇Name
( properties.Name
)。您對(duì)類似的嵌套屬性執(zhí)行相同的操作。
坐標(biāo)位于其下geometry.coordinates
,是坐標(biāo)對(duì)數(shù)組的數(shù)組。
import jmespath
import pandas as pd
query = """
[*].{
Neighborhood: properties.Name,
Neighborhood_ID: properties.Neighborhood_ID,
SqMiles: properties.SqMiles,
Latitude: geometry.coordinates[0][0][0][0],
Longitude: geometry.coordinates[0][0][0][1]
}
"""
compiled = jmespath.compile(query)
result = compiled.search(boston_neighborhoods)
df = pd.DataFrame.from_records(result)
# Neighborhood Neighborhood_ID SqMiles Latitude Longitude
# 0 Roslindale None 2.51 -71.125927 42.272013
添加回答
舉報(bào)