Tushare简单的数据使用以及mysql存储教程

Tushare简单的数据使用以及mysql存储

本人tushare ID:430903

由于某些特殊的原因,接触到了股票策略量化的那么一个项目,而这需要大量数据的支持。而我第一时间尝试的是爬虫,存在mysql中,随时调用。这样有个问题,首先就是爬虫的代码质量不敢保证,日后需要经常维护,不太符合对量化的要求。
第二个尝试的便是tushare库。不用不知道,一用才发现这玩意是真好用。
tushare

首先我需要的便是的A股中所有股票的信息,这点从tushare库中很容易就能找到:
在这里插入图片描述
相关代码如下:

#coding=gbk
# 导入tushare
import tushare as ts

# 初始化pro接口
pro = ts.pro_api('插入你的token')

# 拉取数据
df = pro.stock_basic(**{
    "ts_code": "",
    "name": "",
    "exchange": "",
    "market": "",
    "is_hs": "",
    "list_status": "",
    "limit": "",
    "offset": ""
}, fields=[
    "ts_code",
    "symbol",
    "name",
    "area",
    "industry",
    "market",
    "list_date"
])
print(df)

在这里插入图片描述
很轻松就可以获取所有上市股票的信息。
当然,获取完之后的存储更为关键。因为tushare存在频率限制,不能太高频率爬取信息。对于我这种一天一次的用户来说,虽然频率不是很大,但是为了和其他数据的统一,存取在MySQL库中更方便。
由于数据量不是很大,你存在MongoDB也行。什么数据库无所谓。

如何存入MySQL中

首先,你得把MySQL相关软件安装了。这方面网站上教程很多,我就不贴了。
接下来就是连接MySQL。对于我来说,pycharm中本来就存在可视化MySQL。
在这里插入图片描述
于是,我直接用pycharm中的数据库进行查看与处理,也很方便。问题来了:

对于我来说,我的数据还没有存放在云服务器中,放在本地,如果你和我一样,点击数据库中的新建按钮:
在这里插入图片描述
选择MySQL数据库
在这里插入图片描述
修改成你的MySQL中的主机和端口,填入密码,点击确认,本地的MySQL数据库就连接完成了。

如何往MySQL中存入tushare数据

导入如下库:

import pandas as pd
import pymysql

完成之后,你就可以往里面添加数据了

pandas库中自带有to_sql函数,这个函数可以很方便的往数据库中写入数据。

tushare中返回的大部分是dataframe数据结构,这种数据结构在爬虫以及大数据方面很常见,是必须要学习的库。

写入步骤:
首先创建一个架构,在空白处右键选择架构选项在这里插入图片描述
接下来,写如下代码设置参数:

con1 = 'mysql+pymysql://你的用户名:你的密码@主机名:端口
/架构名字?charset=utf8'
)

例如:

con1 = 'mysql+pymysql://root:123456@localhost:3306/
stocks?charset=utf8'

完成之后,下面代码可以将一个dataframe写入到mysql中:

df.to_sql(name="stocksname",con=con1,if_exists='replace',index=False)

其中,name为表名,任意填写。
运行程序:
在这里插入图片描述
便发现多了一个表,是不是很方便呢
在这里插入图片描述

其中,包含了从tushare中获取的所有A股上市数据,以后再调用的时候,就可以不通过库调用,直接调用MySQL库,减轻网站负担。

如何从mysql库中读取信息

这个更简单了,只需要一行代码:

df1=pd.read_sql("select * from test1.stocksname",con=con1)

就可以完成:
在这里插入图片描述

总结

tushare库的功能十分强大,包括但不限于A股的所有可查询的数据,只是存在频率限制。
因此,我推荐大部分人都把数据存在mysql中,如果有频率限制的话,按照频率要求慢慢存在mysql中。这样子获得的A股数据因为都是由tushare中获取,十分整齐和规范,方便后续的加工。
本教程只是简单的提供了大致的使用方法和教程。如果需要更加详细的教程欢迎去tushare官网注册查询:
tushare官网

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值