#python #json #dictionary
Вопрос:
У меня есть ответ json от api, мне нужно получить значение «askPrice» от:
dict_items(
[
('SPY',
{
'assetType': 'ETF',
'assetMainType': 'EQUITY',
'cusip': '78462F103',
'assetSubType': 'ETF',
'symbol': 'SPY',
'description': 'SPDR Samp;P 500',
'bidPrice': 435.31,
'bidSize': 2100,
'bidId': 'T',
'askPrice': 435.33,
'askSize': 200,
'askId': 'P',
'lastPrice': 435.32,
'lastSize': 0,
... ,
'delayed': True,
'realtimeEntitled': False
}
)
]
)
Мой код таков:
quote = c.get_quotes("SPY")
resp = quote.json().items()
print(pd.json_normalize(resp['SPY']['AskPrice'],level=2))
Но интерпретатор python показывает ошибку:
Ошибка типа: объект ‘dict_items’ не может быть подписан
Я приношу извинения за этот простой вопрос.
Комментарии:
1. Удалите
.items()
деталь, илиresp = dict(quote.json().items())
2. Каков источник этого финансового символа? Используете ли вы их API?
3. объект
dict_items
-это объект представления . Вы можете выполнить итерацию по объектам просмотра, проверить принадлежность и получить их длину, но вы не можете сделать с ними ничего другого — в частности, они не могут быть подписаны, поэтому вы получаете ошибку4. Большое всем спасибо. Благодаря aswer из Cyttorak петля уже сработала. Я использую неофициальный tda-api python.