【发布时间】:2019-12-06 14:38:51
【问题描述】:
def get_price_history_data(ticker):
pricelist = []
try:
pricedata = False
tradingdays = 252
Historical_Prices = pdr.get_data_yahoo(symbols=ticker, start=(datetime.today()-timedelta(tradingdays)), end=(datetime.today()))#-timedelta(years4-1)))
price_df = pd.DataFrame(Historical_Prices)
pricelist = price_df['Adj Close']
pricedata = True
except:
print(ticker,' failed to get price data')
return(pricelist, pricedata)
tickers = ['FB','V']
for ticker in tickers:
[pricelist, pricedata] = get_price_data(ticker)
我有几千个代码列表,我通过这个 for 循环运行。它输出一个单列 df 和一个布尔值。总的来说,它工作得很好,可以满足我的需要。但是,它不一致地无限期冻结,没有错误消息并停止运行,迫使我关闭程序并从头开始重新运行。 如果经过一定时间,我正在寻找一种方法让我跳过 for 循环的迭代。我已经研究了 time.sleep() 和 continue 函数,但无法弄清楚如何将它应用于这个特定的应用程序。如果它冻结,它会冻结在“pdr.get_data_yahoo() 部分”。不胜感激
【问题讨论】:
标签: python loops exit freeze continue