Python实现将通信达.day文件读取为DataFrame

yipeiwu_com7年前Python基础

如下所示:

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()

以上这篇Python实现将通信达.day文件读取为DataFrame就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

详解Django中的权限和组以及消息

在认证框架中还有其他的一些功能。 我们会在接下来的几个部分中进一步地了解它们。 权限 权限可以很方便地标识用户和用户组可以执行的操作。 它们被Django的admin管理站点所使用,你也...

Python中的进程分支fork和exec详解

在python中,任务并发一种方式是通过进程分支来实现的.在linux系统在,通过fork()方法来实现进程分支. 1.fork()调用后会创建一个新的子进程,这个子进程是原父进程的副本...

Python 脚本的三种执行方式小结

Python 脚本的三种执行方式小结

1.交互模式下执行 Python,这种模式下,无需创建脚本文件,直接在 Python解释器的交互模式下编写对应的 Python 语句即可。 1)打开交互模式的方式: Windows下:...

Python函数嵌套实例

在Python中函数可以作为参数进行传递,而也可以赋值给其他变量(类似Javascript,或者C/C++中的函数指针); 类似Javascript,Python支持函数嵌套,Javas...

解决python3中自定义wsgi函数,make_server函数报错的问题

#coding:utf-8 from wsgiref.simple_server import make_server def RunServer(environ, start_...