使用tushare获取股票历史交易数据

先注册一个tushare的账号吧,它其实是调用了新浪财经的相关接口。

至于如何安装tushare,比较简单,操作系统上安装了python3之后,直接用pip安装tushare即可,网上和官网都有教程,基本一步搞定,这里就不说了。(尽量不要装python2,会稍微麻烦点)

前面花了3天时间把python疯狂讲义看完了,因为前些年对java了解的很多,也用的很多,这两年用c和C++多些,所以看python的教程就相当快,把基础部分看完后,了解和java的区别之后,后续的章节只需要看它提供了什么功能,大概有啥函数即可,因为用的时候还是要再在网上搜的。所以有了点python底子之后,就敢动手了。

由于tushare pro是收费的,或者需要比较多的金币才能使用高级功能。因为前几年就写过java的爬虫,从新浪财经爬取相应股票的历史数据,所以我这里比较简单的调用了一下,获取所有的沪深A股的代码信息,然后调用tushare的get history data来获取历史数据(比java简单多了,tushare封装的还行,其实我的java也都封装好了)。

当然,如果觉得不好拿到沪深A股的所有股票代码,那给你一个简单连接吧。http://quote.stockstar.com/stock/stock_index.htm

复制出来,自己整理一下,提取出所有的代码并保持到文件。然后使用python读取文件放到list里面。然后调用tushare接口,并保持到excel里面。代码相当简单,这里面还要考虑exception的处理,我刚开始么有加异常处理,结果到000428之后就出不来了。直接加异常处理后,后面就全跑出来了,至于是否少了一只股票的数据,我对比了一下,发现少了32个股票的数据。如果真的要求全部数据,那简单,把出错的股票代码打印出来,再单独针对这32个股票,分别调用,调试一下,看看啥问题。我这里没有处理。

import os
import tushare as ts
def ReadTxtName(rootdir):
    lines = []
    with open(rootdir, 'r') as file_to_read:
        while True:
            line = file_to_read.readline()
            if not line:
                break
            line = line.strip('\n')
            lines.append(line)
    return lines
stockList = ReadTxtName('20200218A.txt')
print(stockList,sep=',')
#ts.set_token('xxxxxx')
for stock in stockList:
    df = ts.get_hist_data(stock)
    try:
        df.to_csv(stock+'.csv')
    except AttributeError:
        continue;
    print('====================')
print('get data end!!!')

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值