从pandas series obj检索JSON中的值

2024-05-23 14:59:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要帮助从python中的JSON响应对象检索值。具体来说,我如何获取价格询问价格价值?我遇到麻烦了:

JSON对象:

{'prices': [{'asks': [{'liquidity': 10000000, 'price': '1.16049'}],
   'bids': [{'liquidity': 10000000, 'price': '1.15989'}],
   'closeoutAsk': '1.16064',
   'closeoutBid': '1.15974',
   'instrument': 'EUR_USD',
   'quoteHomeConversionFactors': {'negativeUnits': '1.00000000',
    'positiveUnits': '1.00000000'},
   'status': 'non-tradeable',
   'time': '2018-08-31T20:59:57.748335979Z',
   'tradeable': False,
   'type': 'PRICE',
   'unitsAvailable': {'default': {'long': '4063619', 'short': '4063619'},
'openOnly': {'long': '4063619', 'short': '4063619'},
'reduceFirst': {'long': '4063619', 'short': '4063619'},
'reduceOnly': {'long': '0', 'short': '0'}}}],
 'time': '2018-09-02T18:56:45.022341038Z'}

代码:

^{pr2}$

我想得到1.16049的值,但是在尝试了不同的方法之后遇到了麻烦。在

谢谢


Tags: 对象jsontime价格pricelongpricesshort
2条回答

asks[0]返回一个列表,以便您可以执行以下操作

asks[0][0]['price']

或者

data = pd.io.json.json_normalize(response['prices'])
price = data['asks'][0][0]['price']

您所拥有的数据包含jsonslists。因此,您需要相应地进行导航。列表通过indexes(从0开始)访问,json通过keys访问。在

   price_value=data['prices'][0]['asks'][0]['price']
   liquidity_value=data['prices'][0]['asks'][0]['liquidity']

在本例中解释这个逻辑:我假设您的大json对象存储在一个名为data的对象中。首先访问此对象中的prices键。然后我有index 0,因为下一个键在list中。然后在进入列表之后,您有一个名为asks的键。现在这里又有一个列表,所以您需要使用index 0来访问它。最后,键liquidity和{}在这里。在

相关问题 更多 >