我想下载所有的收盘价的sp500数据,并放入一个数据框架。我的异常处理没有捕捉到。
我已经尝试过标准语法异常处理
from pandas_datareader import data as pdr
import yfinance as yf
yf.pdr_override() # <== that's all it takes :-)
# NYSE
url_nyse = "http://www.nasdaq.com/screening/companies-by-name.aspx?letter=0&exchange=nyse&render=download"
# Nasdaq
url_nasdaq = "http://www.nasdaq.com/screening/companies-by-name.aspx?letter=0&exchange=nasdaq&render=download"
# AMEX
url_amex = "http://www.nasdaq.com/screening/companies-by-name.aspx?letter=0&exchange=amex&render=download"
import pandas as pd
df = pd.DataFrame.from_csv(url_nyse)
stocks = df.index.tolist()
df_list = []
used_stocks = []
for stock in stocks:
try:
data = pdr.get_data_yahoo(stock, start="2017-01-01", end="2017-04-30")
data_close=data['Close']
df_list.append(data_close)
used_stocks.append(stock)
except ValueError :
pass
df_list我期待的股票指数是不可用的,以捕获与异常处理。
发布于 2019-07-24 15:48:57
您至少有两个选项。
的第一个将会排除所有这样的异常:
try:
# your code
except:
print "Caught it!"的第二个是添加您遇到的每个异常,以便相应地更改程序的行为。
try:
# your code
except ValueError:
print("Value Error")
except KeyError:
print("Key Error")或者,如果你不想单独处理它们,就像这样:
try:
#your code
except (KeyError, ValueError):
print("Error")https://stackoverflow.com/questions/57176212
复制相似问题