如何从JSON字符串中提取N级对象

时间:2016-01-15 15:27:08

标签: python json

我想从以下JSON字符串中提取wind对象的数据:

enter image description here

import pandas as pd
from urllib2 import Request, urlopen
import json
from pandas.io.json import json_normalize

request=Request('...')
response_weather = urlopen(request)
w = response_weather.read()
metar = json.loads(w)
wind = pd.DataFrame(json_normalize(metar['wind']))
print wind


KeyError: 'wind'

2 个答案:

答案 0 :(得分:1)

要转到wind对象,首先必须从conditions中获取metar个对象。获得conditions对象后,可以拔出wind对象。

Metar没有wind个孩子,因此metar['wind']无法访问任何内容。 metar['conditions']会有效,因为有conditions child

希望有所帮助!

答案 1 :(得分:1)

  

我想提取wind对象的数据

然后你想要metar['conditions']['wind']

根据您的屏幕截图,该密钥包含以下对象:{direction: 60, directionIsVariable: false, speedKnots: "3.00"}

<子> P.S。由于这是一个单一的对象,我不确定你想通过将它变成pandas.DataFrame

来实现什么