Как в python из словаря взять нужное мне значение?

Рейтинг: 0Ответов: 1Опубликовано: 30.06.2023

API присылает мне это:

{'meta': {'last_updated_at': '2023-06-29T23:59:59Z'}, 
 'data': {'USD': {'code': 'USD', 'value': 1.086766}}}

Отсюда мне нужно взять значение value. Подскажите, как это сделать

я пробовал сделать через for, но у меня не получилось

Ответы

▲ 1Принят

Вообще несколько вариантов есть

# Способ 1
data = {'meta': {'last_updated_at': '2023-06-29T23:59:59Z'}, 'data': {'USD': {'code': 'USD', 'value': 1.086766}}}

value = data['data']['USD']['value']
print(value)

# Способ 2
data = {'meta': {'last_updated_at': '2023-06-29T23:59:59Z'}, 'data': {'USD': {'code': 'USD', 'value': 1.086766}}}

value = data.get('data', {}).get('USD', {}).get('value')
print(value)

# Способ 3
from jsonpath_ng import parse

data = {'meta': {'last_updated_at': '2023-06-29T23:59:59Z'}, 'data': {'USD': {'code': 'USD', 'value': 1.086766}}}

# Создаем шаблон jsonpath для значения 'value'
jsonpath_expr = parse("$.data.USD.value")

# Применяем шаблон к словарю и извлекаем значение
match = jsonpath_expr.find(data)
value = match[0].value if match else None

print(value)