3

我正在尝试将 yfinance 和一些股票导入 pandas 数据框。最初在导入 yfinance 时遇到了重大问题。我使用 pip 安装但仍然必须手动放入文件才能真正摆脱 no module 错误。

到目前为止,这是我的代码:

现在我在尝试下载 yfinance 时遇到属性错误。

import pandas as pd
import datetime as dt
import yfinance as yf
# import fix_yahoo_finance as yf

stocks = ["AMZN", "MSFT", "INTC", "GOOG", "INFY.NS", "3988.HK"]
start = dt.datetime.today()- dt.timedelta(30)
end = dt.datetime.today()
cl_price = pd.DataFrame()

for ticker in stocks:
    cl_price[ticker] = yf.download(ticker,start,end)["Adj Close"]

这是错误:

AttributeError                            Traceback (most recent call last)
<ipython-input-51-3347ed0c7f2b> in <module>
     10 
     11 for ticker in stocks:
---> 12     cl_price[ticker] = yf.download(ticker,start,end)["Adj Close"]

AttributeError: module 'yfinance' has no attribute 'download'

我尝试了AttributeError 的建议:模块 'yahoo_finance' 没有属性 'download'但它仍然无法正常工作

任何解决方案表示赞赏

4

2 回答 2

1

我只是遇到了同样的错误,但是在删除名为 yahoofinance 的本地文件后,以下代码有效

!pip install yfinance
import yfinance as yf
import pandas as pd
import datetime as dt
于 2021-04-04T21:22:25.440 回答
0

我使用 pip 安装但仍然必须手动放入文件才能真正摆脱 no module 错误。

这可能是错误的可能原因。强烈建议不要手动执行,始终建议使用打包工具进行安装。如果您使用的是 anaconda 环境,请考虑通过安装conda并删除您手动放置的文件。

$ conda install -c ranaroussi yfinance

并确保您满足所有要求

Python >= 2.7、3.4+、Pandas(经测试可与 >=0.23.1 一起使用)、Numpy >= 1.11.1、请求 >= 2.14.2

于 2020-04-29T20:50:17.837 回答