jq 获取表格所有数据_Python自动获取当日所有股票数据

本文介绍如何使用Python的pandas和tushare库每天自动化收集并存储股票数据。通过添加日期、合并历史数据,并利用cron定时任务,确保每日数据的连续性和完整性,以CSV格式保存,避免Excel行数限制,便于后续分析。
摘要由CSDN通过智能技术生成

e666456f0f0fe342f97bbfdc3cda3669.png

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

import pandas as pd
import tushare as ts
import datetime

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

#获取所有股票当日数据
stock = ts.get_today_all()

这是获取当前股票数据的一个命令,它返回的是当日实时的一个数据,如果是收盘或者节假日,则返回最近一个交易日的数据:

58b376687b010f483cbefa741d85bda4.png
返回的值,包括了代码、开盘价、收盘价等。
#给数据添加一个日期
stock['date'] = datetime.date.today()

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

3e20ac696c0307d8811d5cd404e9b3e7.png
在最后一列,可以看到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
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值