我正在尝试计算从美国多拉到巴西雷亚尔的汇率。
我从巴西中央银行找到了REST API。
我的Python代码正在接收JSON格式的API返回,如下所示:
{'@ odata.context':'https://was-p.bcnet.bcb.gov.br/olinda/servico/PTAX/versao/v1/odata $ metadata#_CotacaoDolarDia(cotacaoVenda)','value':[{'cotacaoVenda':3.8344}]}}
在我的代码中,我可以隔离结果的这一部分“ [{'cotacaoVenda':3.8344}]”,但我不能仅隔离值“ 3.8344”。
按照我的代码:
# Cotação do Dólar V.01
import json
import requests
r = requests.get("https://olinda.bcb.gov.br/olinda/servico/PTAX/versao/v1/odata/CotacaoDolarDia(dataCotacao=@dataCotacao)?@dataCotacao='03-15-2019'&$top=1&$format=json&$select=cotacaoVenda")
if r.status_code == 200:
cotacao = json.loads(r.content)
print(cotacao['value'])
有什么主意我该如何仅隔离JSON返回值中包含的“ 3.8344”?
谢谢
答案 0 :(得分:2)
变量cotacao
是一个列表,只有一个项目。因此,我们使用索引[0]访问它。该对象是一个字典,我们可以使用其键访问其字段:
import json
import requests
r = requests.get("https://olinda.bcb.gov.br/olinda/servico/PTAX/versao/v1/odata/CotacaoDolarDia(dataCotacao=@dataCotacao)?@dataCotacao='03-15-2019'&$top=1&$format=json&$select=cotacaoVenda")
if r.status_code == 200:
cotacao = json.loads(r.content)
print(cotacao['value'][0]['cotacaoVenda'])