本文介绍使用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使用入门相关推荐

  1. Tushare介绍、安装及快速入门

    Tushare介绍.安装及快速入门 Tushare是一个免费.开源的python财经数据接口包.主要实现对股票等金融数据从数据采集.清洗加工 到 数据存储的过程,能够为金融分析人员提供快速.整洁.和多 ...

  2. Tushare金融大数据入门

    Tushare金融大数据社区,是一个免费提供各类金融数据和区块链数据的平台 ,旨在助力智能投资与创新型投资. 积分 数据千万条,积分第一条 目前,提供的数据包含股票.基金.期货.债券.外汇.行业大数据 ...

  3. Tushare 入门 (TusharePro入门)

    既然你打开了本文,相信你已经知道 Tushare 的大名了.最近 Tushare 做了一次大的升级(或者说是重构),用作者的话来说"Pro 版数据更稳定质量更好了,但Pro依然是个开放的,免 ...

  4. Python量化入门系列:获取数据-Tushare获取股票数据(1)

    做量化用到的数据一般包括二级市场各种数据.宏观经济各种数据以及一些特殊需求的网页数据,需要有通过python获取数据.常见的获取数据方式有三种: 一是通过SQL语言从数据库获取数据,适用于二级市场和宏 ...

  5. python蜡烛图预测_python tushare股票K线蜡烛图绘制

    序言:学着学着就学到股票图形绘制了,尝试了下,入门蛮简单的,后面就不知道了,现在好像mplfinance更换了新版本,老版本不支持了.以下代码能实现单个股票K线蜡烛图图形输出,不过我用的是tushar ...

  6. vnpy怎么创建策略并回测_【手把手教你】入门量化回测最强神器backtrader(一)

    1 引言 目前基于Python的量化回测框架有很多,开源框架有zipline.vnpy.pyalgotrader和backtrader等,而量化平台有Quantopian(国外).聚宽.万矿.优矿.米 ...

  7. Scikit-Learn入门教程

    来源:尤而小屋 Scikit-learn是一个非常知名的Python机器学习库,它广泛地用于统计分析和机器学习建模等数据科学领域. 建模无敌:用户通过scikit-learn能够实现各种监督和非监督学 ...

  8. Python 股票分析快速入门

    Python 股票分析快速入门 这段时间股市又开始火爆起来了,隐约这透着点大牛市气息,多年不用的股票账户也找回来了.然后就想着用python做下股票分析,尝试制作自己的分析脚本,本篇教程是自己的一些笔 ...

  9. 史上讲解最好的 Docker 教程,从入门到精通(建议收藏的教程)

    作者 | 惨绿少年 来源 | https://www.cnblogs.com/clsn/p/8410309.html 编辑 | 极市平台 docker不是一个值得投入的领域,它解决的问题是Unix系统 ...

最新文章

  1. JIT Code Generation代码生成
  2. OpenYurt — Yurtctl
  3. ‘Series‘ object has no attribute ‘sort‘
  4. 045_CSS3过渡
  5. C++ Primer 5th笔记(chap 16 模板和泛型编程)类模板成员函数的实例化
  6. 线段检测网格检测(LCNN)的wireframe数据集标注、转换问题
  7. Windows访问Ubuntu8.10分区
  8. 消息发送和接收基本应用
  9. 【java】ThreadLocal 内存泄漏 代码演示 实例演示
  10. 基础篇:6.7)形位公差-基本规则 Basic Rules
  11. 分层采样(stratified sampling)
  12. 【Verilog】一、Verilog概述
  13. 我在日本小帅哥那学习了GCN
  14. CSS样式内联选择器选择器优先级伪类顺序
  15. Typroa导出HTML带大纲
  16. Linux 平台下基于Qt 的电子地图的绘制
  17. JAVA学习从软件工程导论课自动出题软件编程项目开始
  18. HP4230s笔记本安装mac os总结(原创)
  19. 压箱底的Mac解压缩软件大放送
  20. 恢复.bat文件的默认打开方式

热门文章

  1. oracle绝对值求和,Oracle存储过程当中经常使用函数
  2. 小白入门:a在微信给好友b点赞了。b看到了点赞。但是却没有消息提示b,说a点赞了。这个要怎么定位问题?...
  3. 决定了,把以前做过的CF,TC总结都补上来
  4. win10怎么用计算机的搜索,win10如何使用快捷键打开搜索框_win10打开电脑搜索框的快捷键是什么...
  5. html5用一张图片铺满屏幕,html5绘图铺满整个屏幕
  6. 苹果隐藏app_iOS14隐藏功能,很实用!附部分BUG解决方案
  7. 文本与文本处理(一)
  8. 赵丽5500 第二节课
  9. Typora入门教程
  10. 2022-07-10 第四小组 孙翰章 CSS学习笔记