问题描述
我想创建一个列表并将其转换为DataFrame。我知道如何使用除外和继续方法来完成循环。
代码看起来像这样:
import pandas as pd
import requests
list = ['A','AAPL']
url_balance_sheet = 'https://www.alphavantage.co/query?function=BALANCE_SHEET&symbol={}&apikey=DEMO'
records = []
for s in list:
try:
response = requests.get(url_balance_sheet.format(s))
data = response.json()
records.append({
'symbol': data['symbol'],'total_asset' : data['annualReports'][1]['totalAssets']
except KeyError:
continue
df = pd.DataFrame(records)
我可以知道如何在列表上添加错误符号和消息,然后可以创建数据框并显示错误吗?
结果应如下所示:
symbol. total_asset. Note
0. A. 5223000
1. AAPL. KeyError
解决方法
以下代码在发生错误时将“ KeyError”添加到“注释”列中
import pandas as pd
import requests
lists = ['A','AAPL','AAA']
url_balance_sheet = 'https://www.alphavantage.co/query?function=BALANCE_SHEET&symbol={}&apikey=DEMO'
records = []
for s in lists:
try:
response = requests.get(url_balance_sheet.format(s))
data = response.json()
records.append({
'symbol': data['symbol'],'total_asset' : data['annualReports'][1]['totalAssets']})
except KeyError:
records.append({
'symbol': s,'Note':'KeyError'
})
continue
df = pd.DataFrame(records)
df
symbol total_asset Note
0 A 8541000000 NaN
1 AAPL 365725000000 NaN
2 AAA NaN KeyError