Как извлечь и конвертировать значения валюты из json с помощью Python? - PullRequest
0 голосов
/ 28 мая 2020

это мой самый первый проект, использующий Python, и мне бы очень хотелось помочь ...

Я пытаюсь извлечь 3 разных валютных значения ('EUR', 'USD' и 'GBP ') из вывода json с целью преобразования и объединения этих чисел. Я получил данные из вызова api в CRM-систему с помощью модуля запросов и даже смог отобразить отдельные значения dict для сделок.

в ключе json 'data' есть 3 значения который я мог бы использовать для этого (пример формата в скобках) ... 'value' (2500) 'currency' ('USD') 'formatted_value (' USD $ 2,500 ')

Я подумал, что лучший способ сортировки из них можно было бы использовать a for l oop для сортировки «значения» и «валюты» по 3 спискам (USD, EUR и GBP), а затем преобразовать каждый список с использованием местных курсов и суммировать в 1 общую валюту (GBP ).

мой фрагмент кода для бита долларов США для l oop приведен ниже. Если бы это сработало, я бы добавил elif и else, но когда я запускаю это и распечатываю список us_deals, он отображает []

us_deals = []

for value in data['data']:
    if value['currency'] is ['USD']:
        us_deals.append(value['value'])

print(us_deals)

Я думаю, что "if value ['currency'] равно ['USD']: "строка является проблемой (= вместо не работает). Любые советы приветствуются!

1 Ответ

0 голосов
/ 28 мая 2020

Было бы полезно, если бы вы разместили структуру data, чтобы я мог быть уверен, но попробуйте это. Я считаю, что вы правы, проблема в "if value['currency'] is ['USD']:". Если валюта не является типом валюты list, это должна быть строка 'USD' вместо списка с одной строкой ['USD']. И вы можете сравнить две строки, используя ==. Вместо этого попробуйте:

for value in data['data']:
    if value['currency'] == 'USD':
        us_deals.append(value['value'])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...