【问题标题】:Adding sleep function in python在python中添加睡眠功能
【发布时间】:2019-12-16 17:30:36
【问题描述】:

是否可以将 .sleep() 添加到此:

data = web.DataReader(ticker, 'yahoo', start, end)

我希望睡眠功能每 10 秒启动一次,持续 5 秒。我想这样做是因为我认为雅虎财务连接存在问题,当我下载批量数据时似乎中断了。当我只查询 1 个符号但给出错误(例如

)时,它工作正常

符号警告:无法读取符号:“BRK.B”,替换为 NaN。
warnings.warn(msg.format(sym), SymbolWarning)

完整代码:

start = datetime.date(2008,11,1)
end = datetime.date.today()
# df = web.get_data_yahoo(tickers, start, end)
df = web.DataReader(tickers, 'yahoo', start, end)

【问题讨论】:

  • is it possible 的答案几乎总是是的。这个问题很模糊,不清楚你想让 sleep 完成什么。您需要分享更多代码以获得一些可靠的答案,但就目前而言,我的建议是将time.sleep(10) 放在您用于获取值的任何循环的底部。
  • 该错误与睡眠功能无关。正如@SyntaxVoid 提到的,没有代码,将很难提供进一步的指导。
  • 我有一个名为ticker的列表。哪个被传递给 pandas_datareader。我已经分享了上面的完整代码以及符号警告的图片。

标签: python-3.x sleep


【解决方案1】:

您没有定义“代码”。一种方法是列出要循环的 stockSymbols:

tickers= ['AAPL', 'MSFT', 'AABA', 'DB', 'GLD']

接下来,您必须添加循环来实现睡眠定时器。

start = datetime.date(2008,11,1)
end = datetime.date.today()
for stockSymbol in tickers:
    time.sleep(5) #Sleep 5 seconds
    webData[stockSymbol] = web.DataReader(stockSymbol, data_source='yahoo',start= start, end= end, retry_count= 10)   
    time.sleep(5) # Sleep for 5 more seconds, total of 10s waited.
    print(webData[stockSymbol])

【讨论】:

    猜你喜欢
    • 2021-03-07
    • 1970-01-01
    • 2011-02-03
    • 2021-08-29
    • 2021-04-12
    • 2011-04-08
    • 2014-12-14
    • 1970-01-01
    相关资源
    最近更新 更多