python从tushare获取数据导入excel表_用Excel取得Tushare数据

Tushare是一个免费Tushare金融数据大社区,开源的python财经数据接口包.主要实现对股票等金融数据从数据采集、清洗加工到数据存储的过程,能够为金融分析人员提供快速、整洁、和多样的便于分析的数据,为他们在数据获取方面极大地减轻工作量,使他们更加专注于策略和模型的研究与实现上。

怎样能像使用Excel函数那样获取Tushare上的数据呢?

现在我们就来构造一个函数来获取Tushare数据吧。

为了实现上述的想法我们需要先安装Anaconda3,方法见:Windows 安装 Anaconda3 详细过程

安装好Anaconda3后,运行Prompt

输入:

pip install xlwings

pip install tushare

安装完成后,接着输入(此步骤时关闭Excel)

xlwings addin install

完成后打开Excel会发现工具栏上多了一个xlwings插件

别急,此时还需要设置“文件”->"选项"->"信任中心"->"信任中心设置"->"宏设置"->"信任对VBA工程模型的访问"

ALT+F11后点击"工具"->"引用",勾选xlwings

此时准备工作已经完成一大半了,如果没有注册需要在Tushare金融数据大社区注册已获取接口TOKEN。

完成以上操作后,我们需要新建一个文件,并在文件夹下同时建立两个同名的文件,只不过一个是".py",一个是".xlsm"(假设你的为A.py,A.xlsm),以我的为例:

如果我们需要构建函数使用Tushare提供的日线行情接口 日线行情接口 通过Tushare的官方文档可以看到只需要三行代码就可以在python获取相应的股票信息。

import tushare as ts

pro=ts.pro_api("你的token")

df = pro.query('daily', ts_code='000001.SZ', start_date='20180701', end_date='20180718')

此时用记事本打开A.py的文件然后,模仿官方文档输入一下代码:

import xlwings as xw

import tushare as ts

@xw.func

@xw.arg('ts_code',doc='str,深交所.SZ;上交所.SH')

@xw.arg('startdate',doc='str,格式yyyymmdd')

@xw.arg('enddate',doc='str,格式yyyymmdd')

@xw.ret(index=False,expand='table')

#构建一个名为daily的函数

def daily(ts_code,startdate,enddate):

pro = ts.pro_api("你的token")

df=pro.daily(ts_code=ts_code, start_date=startdate, end_date=enddate)

return df

构件的保存后,打开A.xlsm,xlwings插件配置如下:

Interpreter处填Anaconda3中的pythonw.exe路径,我的为D:\Anaconda3\pythonw.exe

PYTHONPATH填A.xlsm的文件夹地址,我的为G:\xlwings

UDF Modules填 A这个名称就好 不要后者名

此时点击Restart UDF Server 再点击Import Functions就可以在A.xlsm中使用daily函数查询日线行情了

结果如下:

你可能感兴趣的:(python从tushare获取数据导入excel表_用Excel取得Tushare数据)