数据分析获取Yahoo股票数据:使用pandas-datareader时遇到一些问题问题(cannot import name ‘is_list_like‘ 问题)
1 安装pandas-datareader依赖包:
因为,我电脑上之前已经安装了python3.6,先学习了爬虫,所以已经有了python环境。现在学习数据科学数据分析,再安装了anaconda,为了不使我电脑环境出现混乱,安装anaconda后,就没有把anaconda的环境变量写到系统环境变量中,那么安装第三方等要用命令式的操作就要到安装目录的路径中去打开cmd:
1.1 使用anaconda的python环境
在anaconda安装的根目录,打开cmd,输入python,此时就是执行的anaconda的python环境。
1.2 使用conda命令安装依赖包,或者查看依赖等要conda 执行的命令
使用conda命令:需要到Anaconda3- >Library ->bin路径下执行(打开cmd)
在上述的目录中打开cmd,执行conda命令,如安装依赖包conda install pandas-datareader等
查看anaconda环境中的依赖包:conda list;
2 使用pandas-datareader
2.1 导入pandas_datareader出现错误:cannot import name 'is_list_like'
出现这个,我们可以查看import 导入出错的原因:
里面说了一个文件fred.py文件,我们还不知道什么原因导致的,查找网上的解决方法,发现一个有效的方式,修改下该文件的一条语句:
原fred.py文件 到开头import中第一句是这个 from pandas.core.common import is_list_like
我们将这个句修改成:from pandas.api.types import is_list_like
在回到import,发现导入成功。
2.2 使用pandas_datareader获取雅虎Yahoo股票数据,发现出错,
pandas_datareader.get_data_yahoo('BABA')
里面的已经说了原因,这个api接口已经被弃用了,查了下资料,发现可能是2017yahoo被Verizon收购的原因。
但是网上又有了新的解决方案:
我们需要额外安装另一个依赖包:fix_yahoo_finance(再conda install下吧)
安装成功后 import fix_yahoo_finance as fy
from pandas_datareader import data as pdr
import fix_yahoo_finance as yf
yf.pdr_override() #需要调用这个函数
# 获取数据
data = pdr.get_data_yahoo("SPY", start="2017-01-01", end="2017-04-30")
data = pdr.get_data_yahoo(["SPY", "IWM"], start="2017-01-01", end="2017-04-30")
Tips:在conda install fix_yahoo_finance,有可能会遇到PackageNotFoundError: ''Package missing in current channels",找不到安装包的方式(安装其他依赖包也可能)
解决方法1:
查找你要安装的依赖包
anaconda search -t conda 你要安装的包如yahoo
(如果环境变量中没有添加anaconda的python变量,则要在安装的scripts下执行)
如图,可以看到查找到的安装包(模糊搜索的结果),当然可能搜索不到这个包,如一开始那个(最上面没框起来的部分)
如果找到了,那就可以看到下面一行字 anaconda show <USER/PACKAGE> 这是用来进一步查看你要安装的安装信息的。
如,我选择了一个进行查看
anaconda show postelrich/yahoo-finance
前面会给出这个包的一些信息,最后面会给出如何进行安装的目录,复制它,在来conda就可以了:
conda install --channel https://conda.anaconda.org/postelrich yahoo-finance
解决方法2:本地安装
也就是上面遇到,搜索不到你要安装的依赖包,怎么办?那就下载文件下来,进行本地安装啊。
如,我在获取股票时,以前常用pandas-datareaderr从yahoo的接口获取股票的数据,但是可惜现在没办法了,接口被移除了。
网上一搜发现了一个fix_yahoo_finance包可以实现以前的操作,所以立马去conda fix_yahoo_finance,发现安装不了,anaconde search也找不到这个包,所以,我就去fix_yahoo_finance api的网站上找到源文件的下载地址,下载到本地中。
文档:https://pypi.org/project/fix-yahoo-finance/
下载地址:
https://files.pythonhosted.org/packages/0a/96/d44330e427f5368cb8abd25997b72956a31b52073d285c4d5cd56e5fdc17/fix-yahoo-finance-0.0.22.tar.gz
依赖包,下载解压之后,发现里面有个文件setup.py
有他就好办了,我们可以通过本地来安装这个包啊,怎么安装
cd到fix_yahoo_finance目录中,使用 python setup.py install安装,它就会自动安装这个依赖到环境中。
不要被我的pythonana迷惑了,这是因为,我电脑同时安装两个python,前文提过,所以我把一个python的命令改成了pythonana,这样就不会让我的python打架。如果你没有改,可以忽视,请大胆的使用python安装即可。
到此,我们使用:
from pandas_datareader import data as pdr
import fix_yahoo_finance as yf
yf.pdr_override() #需要调用这个函数
# 获取数据
data = pdr.get_data_yahoo("SPY", start="2017-01-01", end="2017-04-30")
data = pdr.get_data_yahoo(["SPY", "IWM"], start="2017-01-01", end="2017-04-30")
可以正常的获取yahoo中的股票数据,而且请求网络获取数据也较为稳定。
数据分析获取Yahoo股票数据:使用pandas-datareader时遇到一些问题问题(cannot import name ‘is_list_like‘ 问题)相关推荐
- pythonurllib库获取yahoo财经数据_Python获取Yahoo股票数据
1. Yahoo股票 Yahoo财经提供国内外的股票数据,其请求URL格式如下: http://ichart.finance.yahoo.com/table.csv?a=03&b=12& ...
- pandas_datareader.data 获取雅虎财经股票数据并以csv格式存放
pandas_datareader.data 获取雅虎财经股票数据并以csv格式存放 import numpy as np import pandas as pd import pandas_data ...
- 关于使用pandas-datareader获取Yahoo Finance数据失败的问题。(RemoteDataError)
python 学习日志 设备: MacBook Air 开发环境:Jupyter 6.1.4 问题:关于使用pandas-datareader获取Yahoo Finance数据失败的问题. Troub ...
- 用matplotlib获取雅虎股票数据并作图
matplotlib有一个finance子模块提供了一个获取雅虎股票数据的api接口:quotes_historical_yahoo_ochl 感觉非常好用! 示例一 获取数据并作折线图 import ...
- 用matplotlib获取雅虎股票数据并作图【转载】
原文链接:http://www.cnblogs.com/hhh5460/p/5120079.html matplotlib有一个finance子模块提供了一个获取雅虎股票数据的api接口:quotes ...
- 插件77:获取Yahoo!股票新闻
<?php // Plug-in 77: Get Yahoo! Stock News /** 获取Yahoo!股票新闻* 插件说明:* 插件接受一个股票代码,如AAPL或MSFT,返回该股票的相 ...
- 数据库api如何获取实时股票数据?
数据库获取实时股票数据操作如下: import pymysql dbconf = {'host':'127.0.0.1', 'port':3306, 'user':'root', 'password' ...
- Python获取全部股票数据
目前整个沪深京A股市场总共有5000余支股票,那么我们怎么能获取到这些股票的数据(股价.市值.市盈率.市净率等)呢? 小编常用的有三个网站,分别是东方财富.同花顺.雪球,请自行查阅. 我们以东方财富为 ...
- ajax从新浪获取实时股票数据
ajax从新浪获取实时股票数据 最近在给公司做一个报表展示,然后领导要求上面加上一些股票的实时数据展示. 一开始同事给我一个聚合数据的网址,说从这上面可以获取到.我一看,哟呵,API接口什么的都提供好 ...
最新文章
- 第五周 1 素数和(5分)
- win8.1安装veket的方法
- java8 parallelStream性能测试
- 论文翻译:《Improved Neural Relation Detection for Knowledge Base Question Answering》
- 微信小程序wx.showToast
- android 动画_深入了解一些Android动画
- 小米回应林斌退休传闻;哈工大等高校被禁止使用 MATLAB;统信软件 UOS20 SP1 系统升级| 极客头条...
- 三维模型 检索 代码_文章导读|一种基于拉普拉斯算子和联合贝叶斯模型的三维形状检索方法...
- 城市智能公交管理系统方案
- 解决oppo r7splus刷机后基带丢失|串号丢失|无信号等问题方法
- JavaScript 表单提交的三种方法
- linux dd 克隆很慢,使用dd命令进行SD卡克隆
- 【方法】Chrome如何下载视频
- python字符串问题—文件排版
- warning: variable ‘a‘ set but not used [-Wunused-but-set-variable]
- 易语言上传文件 自动化编辑对话框并点击按钮
- 一支笔的测试点_如何测试一支笔
- ejwt积分_菜鸡速通微积分:从十进制展开到数列、级数、幂级数、函数项级数...
- Python菜鸟小萌新对正则表达式的理解
- arduino花盆含水量_Arduino教程┃模拟土壤湿度传感器的介绍