问题描述
我正在尝试构建一个允许用户将股票添加到投资组合,然后对该投资组合进行分析的应用程序。至关重要的是,仅添加有可用数据的现有库存。如果用户输入了无效的股票代码,则需要进行处理。显而易见的选择是某种尝试除外结构。我已经尝试过了,但是无法弄清楚我的方法失败了。注意:我正在使用yfinance下载股票数据。
def getData(self,period):
try:
stock = yf.Ticker(self.ticker)
data = stock.history(period = period)
return data
except Exception as exception:
print(exception)
raise Exception
在Stock类中,我正在实现getData()函数。使用yfinance,我创建了一个名为股票的报价对象,然后尝试下载历史市场数据。在某些情况下(AAPL,TSLA,...,实际股票代码),这种方法可以正常工作。
在主应用程序中,我有一个标签,如果库存有效,该标签将被更新:
def extendPortfolio():
try:
stock = st.Stock(stock_entry.get().upper())
data = stock.getData("1mo")
self.portfolio.append(stock)
portfolioString.set(portfolioString.get() + "\n" + stock.__str__())
except Exception as exception:
print(exception)
使用Stock类功能,创建一个库存对象,下载其数据,并在可能的情况下—将它们添加到tk.StringVar
投资组合字符串中。我的问题是:无论我决定输入什么废话,它都会添加到投资组合字符串中,并因此出现在标签中。
一条消息显示在终端上,说明:- {some nonsense sequence}: No data found,symbol may be delisted
该消息很可能来自yfinance库本身。但这是否意味着该错误已为时过早?如何使这些错误在程序中进一步传播到需要处理的地方?
我希望问题很清楚,如果没有,请要求澄清。预先感谢您的帮助!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)