使用struct解析通达信本地Lday日线数据

★★★★★博文原创不易,我的博文不需要打赏,也不需要知识付费,可以白嫖学习编程小技巧,喜欢的老铁可以多多帮忙点赞,小红牛在此表示感谢。★★★★★

在Python中,struct模块提供了二进制数据的打包和解包功能,可以将Python数据类型转换为二进制数据,或者将二进制数据转换为Python数据类型。

Pandas是Python中一个广泛使用的数据分析库,它提供了方便的数据操作和分析功能。Pandas能够处理各种数据格式,包括CSV、Excel、SQL等,能够进行数据清洗、预处理、分析和可视化等操作。Pandas的核心数据结构是DataFrame,它是一个二维表格,与Excel表格类似,可以使用类似于Python内置的行列索引方式进行操作。Pandas还提供了丰富的数据分析函数,如统计函数、分组聚合、时间序列分析等。

python 复制代码
#01. 龙虎榜小红牛股票系统,官方微信公众号:GXZFP888

#02. 我的Python教程官方微信公众号:wdPython

前面分析过通达信日线数据的结构,今天介绍另一种简洁的写法:使用struct解析数据,有相关需求的小伙们可以看看上一篇博文的分析报告详情,这里就不再重复说明了,自己理解以下Python源码的写法。

python 复制代码
import os
import struct
import pandas as pd

def read_TdxLday_datas(folder_name):
    tdx_datas=[]
    with open(folder_name,'rb')  as f:
        buffer=f.read()  #读取数据到缓存
        size=len(buffer)
        rowSize=32 #通信达day数据,每32个字节一组数据
        code=os.path.basename(folder_name).replace('.day','')
        for i in range(0,size,rowSize):  #步长为32遍历buffer
            row=list( struct.unpack('IIIIIfII',buffer[i:i+rowSize]) )
            row[1]=row[1]/100
            row[2]=row[2]/100
            row[3]=row[3]/100
            row[4]=row[4]/100
            row.pop() #移除最后无意义字段
            row.insert(0,code)
            tdx_datas.append(row)

    data=pd.DataFrame(data=tdx_datas,columns=['code','tradeDate','open','high','low','close','amount','vol'])
    print(data)
#设置成你的日线数据所在tdx路径位置
read_TdxLday_datas(folder_name="E:/zd_cjzq/vipdoc/sh/lday/sh600519.day")
相关推荐
做运维的阿瑞8 分钟前
Python 标准库汇总:分类速览与常用模块清单
linux·运维·python
why-geo13 分钟前
Hermes Agent 与 Python 的会产生什么样的碰撞
人工智能·python·ai编程
正经教主21 分钟前
【FDE系列】阶段2:Day 29:FastAPI 进阶 — Pydantic 模型与完整 CRUD 实战
人工智能·python·fde
gCode Teacher 格码致知24 分钟前
Pandas教学-6:coerce详解
python·pandas
梦在远山后29 分钟前
Electron 与 FastAPI 如何完成流式 Agent 对话
python·langchain·agent
大衛說39 分钟前
12 · 文件 I/O 与序列化
python
小静AI工程实验室1 小时前
Python 爬虫中文乱码排查:严格解码、UTF-8 BOM 与 JSON 转义的 12 项实验
字符编码·爬虫·python
天天被压力1 小时前
【跨市场数据实战 #08】可转债折价机会怎么筛:3个接口抓比价、列表和实时盘口
java·人工智能·python
weixin199701080161 小时前
[特殊字符]️《从0到1搭多平台二手ERP中台:闲鱼+淘宝+京东+拼多多+Mercari统一调度》(附Python源码)
python
王国强20091 小时前
uv 深入指南:重新理解 Python 的包管理、依赖解析与项目工程化
python