yfinance 中的错误
Posted
技术标签:
【中文标题】yfinance 中的错误【英文标题】:Errors in yfinance 【发布时间】:2021-07-24 21:50:28 【问题描述】:所有, 我已经在谷歌 colab 中制作了一个股票评估 python 脚本(很大程度上感谢这个社区)。 9/10 次,代码完美地更新了相应的谷歌表格文件。但是,我使用代码选择的股票有一个有趣的结果。它没有提供收入表,而是返回一个空的 DataFrame,其中包含打开、关闭等列,也就是与收入无关。一些示例代码包括 PLTR、TRUP 和 FICO。我很好奇除了给定股票的不良数据集或有关如何处理此问题的任何提示之外,是否还有其他原因。
返回结果: 空数据框 列:[开盘价、最高价、最低价、收盘价、调整收盘价、成交量] 索引:[]
示例代码:
!pip install git+https://github.com/rodrigobercini/yfinance.git
!pip install gspread-formatting
import yfinance as yf, datetime, pandas as pd, gspread, gspread_formatting as gsf
from datetime import date
################################
stock = yf.Ticker("pltr")
info = stock.info
print(stock.earnings)
【问题讨论】:
您的收入代码正确显示了结果;由于缺少 gspread 代码,因此无法验证。 【参考方案1】:似乎这个库使用 Request 来获取每个代码的 html 页面,并且不使用 API(似乎 yahoo Finance API 不再可用)。所以有可能连接失败。如果数据框为空,您可以使用循环尝试 MAX_NUM_TRY 数字。
MAX_NUM_TRY = 10
for _ in range(MAX_NUM_TRY):
stock = yf.Ticker("pltr")
info = stock.info
if len(stock.history()) > 0:
break
【讨论】:
以上是关于yfinance 中的错误的主要内容,如果未能解决你的问题,请参考以下文章
yFinance 的 JSON 解码错误 [JSONDecodeError:预期值:第 1 行第 1 列(字符 0)]