python抓取股票数据_Python自动获取当日所有股票数据

开年以来,大盘直接从2400站上了3200,为了后续进一步分析股票数据,我想把每只股票每天的数据保存下来。

import pandas as pd

import tushare as ts

import datetime

首先导入必要的库:pandas数据处理,tushare是一个第三方库,通过它可以查到每天的实时股票数据,datetime是下面做日期标记会用到的一个库

#获取所有股票当日数据

stock = ts.get_today_all()

这是获取当前股票数据的一个命令,它返回的是当日实时的一个数据,如果是收盘或者节假日,则返回最近一个交易日的数据:返回的值,包括了代码、开盘价、收盘价等。

#给数据添加一个日期

stock['date'] = datetime.date.today()

我需要给数据添加一个日期,这样就可以看到数据是哪一天的数据。这里要用到的是datetime库,新增加了一个叫date的字段,日期为当前日期。在最后一列,可以看到date字段

然后,就可以导出数据了:

stock.to_csv('stock_data.csv',encoding = 'utf-8',index=None)

这里我将导出CSV格式的文件,原因有两个,一是pandas处理CSV格式的文件远比Excel快,二是Excel有最大行数限制,只能有104w行数据,而CSV没有这个限制(每天的股票数据有接近4000条,以一年交易日200天算,一年下来有80W条数数据),设置index为None主要是后面需要读取它,如果不设置,read_csv读取出来就会识别为一个没有表头的字段。

stock_data = pd.read_csv('stock_data.csv',sep=',')

df = pd.concat([stock,stock_data])

df.to_csv('stock_data.csv',encoding = 'utf-8',index=None)

stock_data 相当于是累计数据,stock为今天的数据,将今天的数据和stockdata用concat拼接在一起,最后还是输出到名为stock_data的CSV文件中,覆盖掉昨天的数据。

最后,将这个脚本放在定时任务crontab里执行,就可以获得累计每一天的每只股票的数据了(比如第一天3000行,第二条6000行,第3天9000行数据,以此类推),包括开盘价、收盘价、PE、PB、换手率等。

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值