Помогите получить значение из словаря
Помогите получить значение из словаря, который появляется при выполнении команды, и вывести его. Я хочу получить значение "buyprice", которое стоит первым после "last_exec_price", т.е. 0.04995
order = session.get_active_order(symbol="RVNUSDT")
{'ret_code': 0, 'ret_msg': 'OK', 'ext_code': '', 'ext_info': '', 'result': {'current_page': 1, 'data': [{'order_id': '6c4102b3-e42b-4a50-a64d-f987aa11e9bc', 'user_id': 36805748, 'symbol': 'RVNUSDT', 'side': 'Buy', 'order_type': 'Market', 'price': 0.0524, 'qty': 10, 'time_in_force': 'ImmediateOrCancel', 'order_status': 'Filled', 'last_exec_price': 0.04995, 'cum_exec_qty': 10, 'cum_exec_value': 0.4995, 'cum_exec_fee': 0.0002997, 'reduce_only': False, 'close_on_trigger': False, 'order_link_id': '', 'created_time': '2022-09-16T14:21:03Z', 'updated_time': '2022-09-16T14:21:03Z', 'take_profit': 0, 'stop_loss': 0, 'tp_trigger_by': 'UNKNOWN', 'sl_trigger_by': 'UNKNOWN'}
buyprice = ...
Ответы (1 шт):
В следующий раз просьба оформлять код верно в вопросе: не забудьте выделить его с помощью апострофов с двух сторон(Пример: код)
Итак, давайте посмотрим на структуру order. Вы получили словарь, проверить это можно с помощью функции type(order).
Убедившись, что это словарь, вы должны с помощью ключа получить значение. Понимаем, что заправшиваемое Вами значение last_exec_price находится в result -> data -> last_exec_price
Внимание! При использовании ключа 'data' Вы получаете список, поэтому дальше вам нужно получать значения уже по индексам(Индексация начинается с нуля, поэтому получаем значение с помощью data[0]).
Дальше мы получаем ещё один словарь, по ключу last_exec_price получаем желанное значение 0.04995.
Полное решение прикладываю ниже:
res = {'ret_code': 0, 'ret_msg': 'OK', 'ext_code': '', 'ext_info': '', 'result': {'current_page': 1, 'data': [
{'order_id': '6c4102b3-e42b-4a50-a64d-f987aa11e9bc', 'user_id': 36805748, 'symbol': 'RVNUSDT', 'side': 'Buy',
'order_type': 'Market', 'price': 0.0524, 'qty': 10, 'time_in_force': 'ImmediateOrCancel', 'order_status': 'Filled',
'last_exec_price': 0.04995, 'cum_exec_qty': 10, 'cum_exec_value': 0.4995, 'cum_exec_fee': 0.0002997,
'reduce_only': False, 'close_on_trigger': False, 'order_link_id': '', 'created_time': '2022-09-16T14:21:03Z',
'updated_time': '2022-09-16T14:21:03Z', 'take_profit': 0, 'stop_loss': 0, 'tp_trigger_by': 'UNKNOWN',
'sl_trigger_by': 'UNKNOWN'}]}}
buyprice = res['result']['data'][0]['last_exec_price']
Не забудьте принять ответ.
Удачи!