【解决问题】在jupyter notebook上用 pandas_datareader 获取 yahoo 数据

尬在这很久hh,记录一下。欢迎交流学习!

一开始安装是在cmd输入

pip install pandas_datareader

安装好后输入 pip list 是可以看到的,但是在 jupyter notebook 导入时显示不存在,于是在网上找了一下后在jupyter notebook输入

conda install -c https://conda.anaconda.org/anaconda pandas-datareader 
import pandas_datareader.data as web
start_date = '2020-01-01'
end_date = '2020-12-31'
data = web.DataReader('TSLA', data_source='yahoo', start=start_date, end=end_date)
print(data)

这时导入没有问题了但是会报错:(这段代码我在cmd进ipython试了一下,pip安装后就可以正确运行得到我想要的结果,并没有想清楚为啥)

RemoteDataError: Unable to read URL: https://finance.yahoo.com/quote/TSLA/history?period1=1577822400&period2=1609444799&interval=1d&frequency=1d&filter=history

(和一大堆我看不懂的)
又查了一下,说要这样输入

import yfinance as yf
yf.pdr_override() #需要调用这个函数
from pandas_datareader import data as web
start_date = '2020-01-01'
end_date = '2020-12-31'
data = web.DataReader(name='TSLA', data_source='yahoo', start=start_date, end=end_date)
print(data)

然而它又报错了

download() missing 1 required positional argument: ‘tickers’

web.DataReader? 看了一下tickers是什么,又搜了一下,还是不知道是什么
然后偶然看到

tickers:a moving area on a screen that shows changing information such as news or share prices

啊不就是我要找的股票嘛,又想起好像别人都没写name=,web.DataReader? 里也没有name这个参数,于是我把name=删掉。。。然后就好了。
尴尬了,似乎又是词汇量引发的惨案hhh

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值