Tushare使用入门
本文介绍使用python从Tushare下载数据并存储到csv文件和mssql数据库中。
Tushare简介
Tushare金融大数据开放社区,免费提供各类金融数据和区块链数据,助力智能投资与创新型投资。网址:https://tushare.pro/register?reg=127755
注:推广一下分享链接,帮我攒点积分,你好我也好 ^_^ 。
python环境安装
强烈建议使用Anaconda,Anaconda的安装见:https://tushare.pro/document/1?doc_id=29
python的IDE我使用vscode,在Anaconda主界面中直接打开vscode,它会帮你设置好环境,简单方便。
tushare库安装
打开vscode的[查看]->[终端],输入 pip install tushare 即可安装tushare。输入 pip install tushare --upgrade 即可更新tushare。缺少或者更新其他python库,参照这个方法即可。
环境安装好后,就可以开工了。直接上代码,这份代码从Tushare下载股票列表数据,保存为csv文件,同时保存在mssql数据库中。
注意:在to_sql中的schema参数为数据库名,需要带上该数据库的角色,我使用sa登录,数据库隶属于dbo。使用to_sql不需要创建表,pandas会自动帮你创建好,也不需要自己写插入数据的代码,还是很方便的。如果你在表中增加了主键或者唯一索引,有重复数据时批量入库会失败。tushare本身是有少量重复数据的。采用逐行入库的方式速度会比较慢,需要根据业务自己衡量选择。
#!/usr/bin/python3
# coding:utf-8
# -*- coding: utf-8 -*-
import time
import datetime
import random
import tushare
import pandas
import pymssql
import sqlalchemy
#需修改的参数
stock_list_file = 'stock_list.csv' #股票列表文件csv
#tushare token
tushare_token='.....5f7760d2e3b297299c3b0d2b47b7886a88dbc4df5ed5......'
#数据库参数
db_host = '127.0.0.1'
db_user = 'sa'
db_password = 'pwd'
db_db = 'quantum'
db_charset = 'utf8'
db_url = 'mssql+pymssql://sa:pwd@127.0.0.1:1433/quantum'
#股票列表
def get_stock_basic() :
print('开始下载股票列表数据')
#获取tushare
pro = tushare.pro_api()
#下载
data = pro.stock_basic(fields='ts_code,symbol,name,fullname,list_status,list_date,delist_date')
#保存到csv文件
data.to_csv(stock_list_file)
#入库
engine = sqlalchemy.create_engine(db_url)
try:
#先一次性入库,异常后逐条入库
pandas.io.sql.to_sql(data, 'stock_basic', engine, schema='quantum.dbo', if_exists='append', index=False)
except :
#逐行入库
print('批量入库异常,开始逐条入库.')
for indexs in data.index :
line = data.iloc[indexs:indexs+1, :]
try:
pandas.io.sql.to_sql(line, 'stock_basic', engine, schema='quantum.dbo', if_exists='append', index=False, chunksize=1)
except:
print('股票列表数据入库异常:')
print(line)
finally:
pass
finally:
pass
print('完成下载股票列表数据')
return 1
#全量下载所有股票列表数据
if __name__ == '__main__':
print('开始...')
#初始化tushare
tushare.set_token(tushare_token)
print('获取股票列表')
get_stock_basic()
print('结束')
Tushare使用入门相关推荐
- Tushare介绍、安装及快速入门
Tushare介绍.安装及快速入门 Tushare是一个免费.开源的python财经数据接口包.主要实现对股票等金融数据从数据采集.清洗加工 到 数据存储的过程,能够为金融分析人员提供快速.整洁.和多 ...
- Tushare金融大数据入门
Tushare金融大数据社区,是一个免费提供各类金融数据和区块链数据的平台 ,旨在助力智能投资与创新型投资. 积分 数据千万条,积分第一条 目前,提供的数据包含股票.基金.期货.债券.外汇.行业大数据 ...
- Tushare 入门 (TusharePro入门)
既然你打开了本文,相信你已经知道 Tushare 的大名了.最近 Tushare 做了一次大的升级(或者说是重构),用作者的话来说"Pro 版数据更稳定质量更好了,但Pro依然是个开放的,免 ...
- Python量化入门系列:获取数据-Tushare获取股票数据(1)
做量化用到的数据一般包括二级市场各种数据.宏观经济各种数据以及一些特殊需求的网页数据,需要有通过python获取数据.常见的获取数据方式有三种: 一是通过SQL语言从数据库获取数据,适用于二级市场和宏 ...
- python蜡烛图预测_python tushare股票K线蜡烛图绘制
序言:学着学着就学到股票图形绘制了,尝试了下,入门蛮简单的,后面就不知道了,现在好像mplfinance更换了新版本,老版本不支持了.以下代码能实现单个股票K线蜡烛图图形输出,不过我用的是tushar ...
- vnpy怎么创建策略并回测_【手把手教你】入门量化回测最强神器backtrader(一)
1 引言 目前基于Python的量化回测框架有很多,开源框架有zipline.vnpy.pyalgotrader和backtrader等,而量化平台有Quantopian(国外).聚宽.万矿.优矿.米 ...
- Scikit-Learn入门教程
来源:尤而小屋 Scikit-learn是一个非常知名的Python机器学习库,它广泛地用于统计分析和机器学习建模等数据科学领域. 建模无敌:用户通过scikit-learn能够实现各种监督和非监督学 ...
- Python 股票分析快速入门
Python 股票分析快速入门 这段时间股市又开始火爆起来了,隐约这透着点大牛市气息,多年不用的股票账户也找回来了.然后就想着用python做下股票分析,尝试制作自己的分析脚本,本篇教程是自己的一些笔 ...
- 史上讲解最好的 Docker 教程,从入门到精通(建议收藏的教程)
作者 | 惨绿少年 来源 | https://www.cnblogs.com/clsn/p/8410309.html 编辑 | 极市平台 docker不是一个值得投入的领域,它解决的问题是Unix系统 ...
最新文章
- JIT Code Generation代码生成
- OpenYurt — Yurtctl
- ‘Series‘ object has no attribute ‘sort‘
- 045_CSS3过渡
- C++ Primer 5th笔记(chap 16 模板和泛型编程)类模板成员函数的实例化
- 线段检测网格检测(LCNN)的wireframe数据集标注、转换问题
- Windows访问Ubuntu8.10分区
- 消息发送和接收基本应用
- 【java】ThreadLocal 内存泄漏 代码演示 实例演示
- 基础篇:6.7)形位公差-基本规则 Basic Rules
- 分层采样(stratified sampling)
- 【Verilog】一、Verilog概述
- 我在日本小帅哥那学习了GCN
- CSS样式内联选择器选择器优先级伪类顺序
- Typroa导出HTML带大纲
- Linux 平台下基于Qt 的电子地图的绘制
- JAVA学习从软件工程导论课自动出题软件编程项目开始
- HP4230s笔记本安装mac os总结(原创)
- 压箱底的Mac解压缩软件大放送
- 恢复.bat文件的默认打开方式
热门文章
- oracle绝对值求和,Oracle存储过程当中经常使用函数
- 小白入门:a在微信给好友b点赞了。b看到了点赞。但是却没有消息提示b,说a点赞了。这个要怎么定位问题?...
- 决定了,把以前做过的CF,TC总结都补上来
- win10怎么用计算机的搜索,win10如何使用快捷键打开搜索框_win10打开电脑搜索框的快捷键是什么...
- html5用一张图片铺满屏幕,html5绘图铺满整个屏幕
- 苹果隐藏app_iOS14隐藏功能,很实用!附部分BUG解决方案
- 文本与文本处理(一)
- 赵丽5500 第二节课
- Typora入门教程
- 2022-07-10 第四小组 孙翰章 CSS学习笔记