Достать значения вложенного словаря из JSON от EXMO в Python
Сразу: программы корябать умею, правда G-code в основном... Решил немного улучшить трэйдбота и тут...
При получении значений от биржи сам себе устроил непонятку.
Требуются данные buy_price, sell_price, last_trade, high, low на избранные мною пары.
Вот кусочек кода для повторения ошибок:
import urllib, http.client ,urllib.request
import json
with urllib.request.urlopen("https://api.exmo.com/v1.1/ticker") as url:
data = json.loads(url.read().decode('utf-8'))
print(data)#.decode("utf-8"))
new_a ={}
new_a = data['BTC_USD']#'LTC_BTC','ETH_USD'...
for key in data:
print(key)
print(new_a)# ожидается вложенный словарь - результат:строка
В new_a оказывается просто строка, вместо ожидаемого словаря(кортежа...) Ткните где копать или как исправить...
Ответы (1 шт):
Автор решения: triceraptors
→ Ссылка
Как обычно всё оказалось просто.
new_a = dict(data['BTC_USD']) #sort_dict(data)
сделал принудительное указание на создание словаря. и теперь даже:
for key in new_a:
print(key,new_a[key])
тоже отрабатывает, надеюсь другому юному питонисту или криптотрейдеру тоже поможет :)