利用python将通信达数据.day文件读取到pandas进行分析

import os
import struct
import pandas as pd

def readTdxLdayFile(fname="C:\TdxW_HuaTai\vipdoc\sh\lday\sh601628.day"):
dataSet=[]
with open(fname,'rb') as fl:
buffer=fl.read() #读取数据到缓存
size=len(buffer)
rowSize=32 #通信达day数据,每32个字节一组数据
code=os.path.basename(fname).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)
dataSet.append(row)

data=pd.DataFrame(data=dataSet,columns=['code','tradeDate','open','high','low','close','amount','vol'])
print(data)

readTdxLdayFile()

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • pyspark.sql模块 模块上下文 Spark SQL和DataFrames的重要类: pyspark.sql...
    mpro阅读 9,516评论 0 13
  • Spark SQL, DataFrames and Datasets Guide Overview SQL Dat...
    草里有只羊阅读 18,392评论 0 85
  • 人生,是一个不断苏醒的过程。这个世界层层叠叠地向我们展开,这一刻迷离的面目,下一刻就会清晰;这一刻不能宽恕的人,下...
    幸福辽源阅读 363评论 0 1
  • 有时我们惶惑不安,不肯探索自己本身的价值,却过分看重他人在自己生命里的参与。于是,孤独不再美好。但当一人走过雨中的...
    夏天_fa62阅读 292评论 1 5
  • 方法也许有很多。通过反转是其中一种。 通常来说,反转是指意料之外的事情发生了,跟思维惯性被打破有异曲同工之妙。 从...
    爱学习的小王子阅读 236评论 0 1