- 具体注册tushre,获取token不多在这里介绍了,官网对操作及接口描述很清晰
- tushare官网地址tushare
- 从tushare返回的数据是pandas.DataFrame数据类型,为了能够将数据写入数据库,需要使用numpy将其转换成列表,逐行写入
- 使用numpy中的array方法将返回的数据表转换成多维数组,再使用tolist方法将多维数组转换成列表
- 我获取作为市场参照的是上证指数,指数代码为000001.SH,选取一年的数据
- tushare使用pro_bar接口需要300积分,为了获取这部分数据还购买了一下积分^ ^
- 代码如下:
import tushare as ts
import pymysql
import numpy as np
ts.set_token('你的token')
db = pymysql.connect(host='localhost', port=3306, user='xxx', passwd='xxx', db='tushare', charset='utf8mb4')
cursor = db.cursor()
data = ts.pro_bar(ts_code='000001.SH', asset='I', start_date='20200101', end_date='20201230')
datalist = np.array(data).tolist()
for each in datalist:
print(each)
sql = "insert into index_daily( `ts_code`, `trade_date`, `close`, `open`, `high`, `low`, `pre_close`, `change`, `pct_chg`, `vol`, `amount`) values ( %s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s )"
try:
cursor.execute(sql, each)
db.commit()
except Exception as e:
print(e)
db.rollback()