python3.5+版本适配yahoo财经的代码并保存至csv

上周工作中突然接到的需求,没想到挺快就完成了,后来一看是《利用python进行数据分析》那本书里的案例。

环境是mac,用的anaconda3,理论上windows应该没啥太大环境差异。

1.简单来说就是由于年代久远,书里的依赖包需要补充使用。

pip install pandas-datareader
pip install fix_yahoo_finance

2.is_list_like安装包路径变化,由于技术水平有限直接采用is_list_like引用途径改变(pandas.core.common 搬到 pandas.api.types )

参考代码和注释如下:

import datetime
import pandas as pd
pd.core.common.is_list_like = pd.api.types.is_list_like
import pandas_datareader.data as yahoo
import fix_yahoo_finance as yf
yf.pdr_override()
from  pandas import Series, DataFrame

start = datetime.datetime(2018, 12, 1)//需要的起始日期
end = datetime.date.today()//终止日期
tickers = ['AAPL', 'IBM', 'MSFT', 'GOOGL']//股票参数

all_data = {}
for ticker in tickers:
    all_data[ticker] = yahoo.get_data_yahoo(ticker, start, end)

price = DataFrame({tic: data['Adj Close']//需要的数据,这里含有Open,High,Low,Close,Adj Close,Volume
                        for tic, data in all_data.items()})//原书中为iteritems,python3.5+后为items
volumn = DataFrame({tic: data['Volume']
                        for tic, data in all_data.items()})


filepath="这里填写你的文件存储路径"
price.to_csv(filepath)

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值