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

如下所示:

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就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • Python Pandas批量读取csv文件到dataframe的方法

    PYTHON Pandas批量读取csv文件到DATAFRAME 首先使用glob.glob获得文件路径.然后定义一个列表,读取文件后再使用concat合并读取到的数据. #读取数据 import pandas as pd import numpy as np import glob,os path=r'e:\tj\month\fx1806' file=glob.glob(os.path.join(path, "zq*.xls")) print(file) dl= [] for f i

  • python中使用iterrows()对dataframe进行遍历的实例

    假设我们有一个很简单的OTU表: 现在对这个表格进行遍历,一般写法为: import pandas as pd otu = pd.read_csv("otu.txt",sep="\t") for index,row in otu.iterrows(): print index print row 这里的iterrows()返回值为元组,(index,row) 上面的代码里,for循环定义了两个变量,index,row,那么返回的元组,index=index,row=

  • 对pandas的dataframe绘图并保存的实现方法

    对dataframe绘图并保存: ax = df.plot() fig = ax.get_figure() fig.savefig('fig.png') 可以制定列,对该列各取值作统计: label_dis = df.label.value_counts() ax = label_dis.plot(title='label distribution', kind='bar', figsize=(18, 12)) fig = ax.get_figure() fig.savefig('label_d

  • Pandas读取MySQL数据到DataFrame的方法

    方法一: #-*- coding:utf-8 -*- from sqlalchemy import create_engine class mysql_engine(): user='******' passwd='******' host='******' port = '******' db_name='******' engine = create_engine('mysql://{0}:{1}@{2}:{3}/{4}?charset=utf8'.format(user,passwd,ho

  • python读取文本中数据并转化为DataFrame的实例

    在技术问答中看到一个这样的问题,感觉相对比较常见,就单开一篇文章写下来. 从纯文本格式文件 "file_in"中读取数据,格式如下: 需要输出成"file_out",格式如下: 数据的原格式是"类别:内容",以空行"\n"为分条目,转换后变成一个条目一行,按照类别顺序依次写出内容. 建议读取后,使用pandas,把数据建立称DataFrame的表格.这样方便以后处理数据.但是原格式并不是通常的表格格式,所以要先做一些简单的处理

  • python批量读取txt文件为DataFrame的方法

    我们有时候会批量处理同一个文件夹下的文件,并且希望读取到一个文件里面便于我们计算操作.比方我有下图一系列的txt文件,我该如何把它们写入一个txt文件中并且读取为DataFrame格式呢? 首先我们要用到glob模块,这个python内置的模块可以说是非常的好用. glob.glob('*.txt') 得到如下结果: all.txt是我最后得到的结果文件.可以见返回的是一个包含txt文件名称的列表,当然如果你的文件夹下面只有txt文件,那么你用os.listdir()可以得到一个一样的列表 然后

  • 将pandas.dataframe的数据写入到文件中的方法

    导入实验常用的python包.如图2所示. [import pandas as pd]pandas用来做数据处理.[import numpy as np]numpy用来做高维度矩阵运算.[import matplotlib.pyplot as plt]matplotlib用来做数据可视化. pandas数据写入到csv文件中: [names = ['Bob','Jessica','Mary','John','Mel']]创建一个names列表[ births = [968,155,77,578,

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

    如下所示: 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个字节一组数据 co

  • python中readline判断文件读取结束的方法

    本文实例讲述了python中readline判断文件读取结束的方法.分享给大家供大家参考.具体分析如下: 大家知道,python中按行读取文件可以使用readline函数,下面现介绍一个按行遍历读取文件的方法,通过这个方法,展开我们要讨论的问题: 复制代码 代码如下: filename = raw_input('Enter your file name')  #输入要遍历读取的文件路径及文件名 file = open(filename,'r') done = 0 while not  done:

  • python实现带错误处理功能的远程文件读取方法

    本文实例讲述了python实现带错误处理功能的远程文件读取方法.分享给大家供大家参考.具体如下: import socket, sys, time host = sys.argv[1] textport = "80" filename = sys.argv[3] try: s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) port = int(textport) s.connect((host, port)) fd = s.ma

  • fastcgi文件读取漏洞之python扫描脚本

    PHP FastCGI的远程利用 说到FastCGI,大家都知道这是目前最常见的webserver动态脚本执行模型之一.目前基本所有web脚本都基本支持这种模式,甚至有的类型脚本这是唯一的模式(ROR,Python等). FastCGI的主要目的就是,将webserver和动态语言的执行分开为两个不同的常驻进程,当webserver接收到动态脚本的请求,就通过fcgi协议将请求通过网络转发给fcgi进程,由fcgi进程进行处理之后,再将结果传送给webserver,然后webserver再输出给

  • 对python .txt文件读取及数据处理方法总结

    1.处理包含数据的文件 最近利用Python读取txt文件时遇到了一个小问题,就是在计算两个np.narray()类型的数组时,出现了以下错误: TypeError: ufunc 'subtract' did not contain a loop with signature matching types dtype('<U3') dtype('<U3') dtype('<U3') 作为一个Python新手,遇到这个问题后花费了挺多时间,在网上找了许多大神们写的例子,最后终于解决了. 总

  • python之文件读取一行一行的方法

    如下所示: f=file('a.txt') for eachline in f: print eachline 以上这篇python之文件读取一行一行的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • python应用文件读取与登录注册功能

    python应用文件读取与登录注册功能,具体实现代码如下所示: #!/usr/bin/python3 # -*- coding: utf-8 -*- # Author: zhw #读取文件中的内容 def open_file(filename ,file_type , *args): #读取文件中的数据 if file_type == 'r': flie_list = [] with open(filename,file_type) as sub_all: for file_line in su

  • Python实现的json文件读取及中文乱码显示问题解决方法

    本文实例讲述了Python实现的json文件读取及中文乱码显示问题解决方法.分享给大家供大家参考,具体如下: city.json文件的内容如下: { "cities": [ { "city": "北京", "cityid": "101010100" }, { "city": "上海", "cityid": "101020100"

  • python将txt文件读取为字典的示例

    如下所示: # -*- coding: utf-8 -*- # @Time :18-8-2 下午3:23 import sys reload(sys) sys.setdefaultencoding('utf8') fp = open("file", "r") sample = fp.readlines() result_list = [] # 创建一个空列表 with open('file', 'w') as f: for line in sample: resul

  • python socket通信编程实现文件上传代码实例

    这篇文章主要介绍了python socket通信编程实现文件上传代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 写一个file_receive.py和一个file_send.py程序,由file_send.py上传一个文件,file_receive.py接收上传的文件,写到指定的包内 #file_receive.py import socket,subprocess,os BASE_DIR = os.path.dirname(os.pa

随机推荐