我是靠谱客的博主 个性乐曲,最近开发中收集的这篇文章主要介绍利用python和Tushare自动更新A股每日数据利用python和Tushare自动更新A股每日数据,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
利用python和Tushare自动更新A股每日数据
tushare ID :423004
所需接口
整体思路为:
1.利用stock_basic获取ts_code,获得沪深全部上市公司股票代码
2.判断之前之前存储数据的最后截止日+1,记为本次读取数据起始日
3.利用daily获取每个股票截止今日数据
4.写入之前存的csv
5.写入系统程序,每日自动更新
实现代码
import pandas as pd
import os
import tushare as ts
import datetime
import time
pro = ts.pro_api()
tickers = pro.stock_basic().ts_code.tolist()
dateToday = datetime.date.today().strftime('%Y%m%d')
#设置存数据文件夹路径
folder = 'E:/1My file'
#遍历股票代码获取数据
def stockPriceIntraday(ticker,start_date,folder):
intraday = pro.daily(ts_code = ticker,start_date=start_date,end_date = dateToday)
# step2:
file = folder + '/' + ticker +'.csv'
if os.path.exists(file):
history =
pd.read_csv(file,index_col=0)
intraday.append(history)
# step3:
intraday.sort_index(inplace = True)
intraday.index.name = 'timestap'
# step4:
intraday.to_csv(file)
print('intraday for [{}] got.'.format(ticker))
#若数据已存在,则选取上次结束日期
#若数据未存在,则自定义全部数据起始日期
try:
start_date = str(pd.read_csv(folder+'/'+'000001.SZ.csv').sort_values('trade_date',ascending = False).iloc[0,2])
start_date=pd.to_datetime(start_date)+pd.Timedelta(1,'days')
start_date=start_date.strftime('%Y%m%d')
except:
#此处自定义第一次抓取程序时间
start_date = '20100101'
for i,ticker in enumerate(tickers):
try:
print('Intraday', i, '/', len(tickers))
stockPriceIntraday(ticker,start_date,folder)
time.sleep(2)
except:
pass
print('All data got')
自动更新程序
新建txt,输入
D:
cd E:1My file
python “example.py”
@pause
其中,cd路径为py文件路径,example.py为文件名。
保存文件,修改后缀为bat,设置自动执行的日期并加入到系统计划即可。
最后
以上就是个性乐曲为你收集整理的利用python和Tushare自动更新A股每日数据利用python和Tushare自动更新A股每日数据的全部内容,希望文章能够帮你解决利用python和Tushare自动更新A股每日数据利用python和Tushare自动更新A股每日数据所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复