在 python 上仅打印部分答案
Print only a part of the answer on python
我使用 API 来获取股票或加密货币价格。我必须执行的代码是这个:
resp = requests.get('https://www.alphavantage.co/query', params={
'function': 'CURRENCY_EXCHANGE_RATE',
'from_currency': 'BTC',
'to_currency': 'EUR',
'apikey': AV_API_KEY
})
resp
resp.json()
它给了我这个答案:
{'Realtime Currency Exchange Rate': {'1. From_Currency Code': 'BTC',
'2. From_Currency Name': 'Bitcoin',
'3. To_Currency Code': 'EUR',
'4. To_Currency Name': 'Euro',
'5. Exchange Rate': '14161.84281800',
'6. Last Refreshed': '2020-11-28 09:32:04',
'7. Time Zone': 'UTC',
'8. Bid Price': '14161.61726000',
'9. Ask Price': '14161.62561400'}}
但我的目的是只有汇率,所以只打印 14161.84281800 而不是其他信息。
我试过了:
print(resp.json('5. Exchange Rate')
但是我有一个 SyntaxError: unexpected EOF while parsing
是否可以只打印汇率,还是我必须先执行所有信息,然后隔离汇率以用于其他代码?
试试这个
a={'Realtime Currency Exchange Rate': {'1. From_Currency Code': 'BTC',
'2. From_Currency Name': 'Bitcoin',
'3. To_Currency Code': 'EUR',
'4. To_Currency Name': 'Euro',
'5. Exchange Rate': '14161.84281800',
'6. Last Refreshed': '2020-11-28 09:32:04',
'7. Time Zone': 'UTC',
'8. Bid Price': '14161.61726000',
'9. Ask Price': '14161.62561400'}}
k=a.get('Realtime Currency Exchange Rate')
print(k.get('5. Exchange Rate'))
首先将json数据存储在一个变量中然后使用这个程序
or
将 json 数据存储在“a”变量中然后使用此打印
print(a.get('Realtime Currency Exchange Rate').get('5. Exchange Rate'))
这应该有效。
print(resp.json()['Realtime Currency Exchange Rate']['5. Exchange Rate'])
您看到的错误是因为您没有正确结束打印语句。应该有两个 ) 括号。
但即使这样你也会得到一个错误,因为 json 就像字典中的字典等等。
因此,如果您要引用内部集合中的内容,则必须按照键进行操作。
对resp.json()
的调用将产生字典。您可以像这样访问数据
exchange = resp.json()
print(exchange['Realtime Currency Exchange Rate']['5. Exchange Rate'])
使用 try/except
捕获任何可能发生的 KeyError
错误。
try:
print(exchange['Realtime Currency Exchange Rate']['5. Exchange Rate'])
except KeyError:
print('Could not fetch exchange rate.')
简单的答案。
print(resp.json()['Realtime Currency Exchange Rate']['5. Exchange Rate'])
您可以使用 for 循环获取所有值
dataArr = resp.json()['Realtime Currency Exchange Rate']
for valuekey in dataArr:
print(valuekey, dataArr[valuekey])
我使用 API 来获取股票或加密货币价格。我必须执行的代码是这个:
resp = requests.get('https://www.alphavantage.co/query', params={
'function': 'CURRENCY_EXCHANGE_RATE',
'from_currency': 'BTC',
'to_currency': 'EUR',
'apikey': AV_API_KEY
})
resp
resp.json()
它给了我这个答案:
{'Realtime Currency Exchange Rate': {'1. From_Currency Code': 'BTC',
'2. From_Currency Name': 'Bitcoin',
'3. To_Currency Code': 'EUR',
'4. To_Currency Name': 'Euro',
'5. Exchange Rate': '14161.84281800',
'6. Last Refreshed': '2020-11-28 09:32:04',
'7. Time Zone': 'UTC',
'8. Bid Price': '14161.61726000',
'9. Ask Price': '14161.62561400'}}
但我的目的是只有汇率,所以只打印 14161.84281800 而不是其他信息。
我试过了:
print(resp.json('5. Exchange Rate')
但是我有一个 SyntaxError: unexpected EOF while parsing
是否可以只打印汇率,还是我必须先执行所有信息,然后隔离汇率以用于其他代码?
试试这个
a={'Realtime Currency Exchange Rate': {'1. From_Currency Code': 'BTC',
'2. From_Currency Name': 'Bitcoin',
'3. To_Currency Code': 'EUR',
'4. To_Currency Name': 'Euro',
'5. Exchange Rate': '14161.84281800',
'6. Last Refreshed': '2020-11-28 09:32:04',
'7. Time Zone': 'UTC',
'8. Bid Price': '14161.61726000',
'9. Ask Price': '14161.62561400'}}
k=a.get('Realtime Currency Exchange Rate')
print(k.get('5. Exchange Rate'))
首先将json数据存储在一个变量中然后使用这个程序
or
将 json 数据存储在“a”变量中然后使用此打印
print(a.get('Realtime Currency Exchange Rate').get('5. Exchange Rate'))
这应该有效。
print(resp.json()['Realtime Currency Exchange Rate']['5. Exchange Rate'])
您看到的错误是因为您没有正确结束打印语句。应该有两个 ) 括号。
但即使这样你也会得到一个错误,因为 json 就像字典中的字典等等。
因此,如果您要引用内部集合中的内容,则必须按照键进行操作。
对resp.json()
的调用将产生字典。您可以像这样访问数据
exchange = resp.json()
print(exchange['Realtime Currency Exchange Rate']['5. Exchange Rate'])
使用 try/except
捕获任何可能发生的 KeyError
错误。
try:
print(exchange['Realtime Currency Exchange Rate']['5. Exchange Rate'])
except KeyError:
print('Could not fetch exchange rate.')
简单的答案。
print(resp.json()['Realtime Currency Exchange Rate']['5. Exchange Rate'])
您可以使用 for 循环获取所有值
dataArr = resp.json()['Realtime Currency Exchange Rate']
for valuekey in dataArr:
print(valuekey, dataArr[valuekey])