DMER站长博客分析师资源站

DMER数据分析

 找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 412|回复: 0

[知识] 通达信 。day格式的日线 数据 转化为 csv

[复制链接]

449

主题

561

帖子

1万

积分

版主

Rank: 7Rank: 7Rank: 7

积分
18895
发表于 2017-9-4 14:17:14 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
  1. import struct
  2. import pandas as pd

  3. def exactStock(fileName, code):  
  4.     ofile = open(fileName,'rb')  
  5.     buf=ofile.read()  
  6.     ofile.close()  
  7.     num=len(buf)  
  8.     no=num/32  
  9.     b=0  
  10.     e=32  
  11.     items = list()   
  12.     for i in range(int(no)):
  13.         
  14.         a=struct.unpack('IIIIIfII',buf[b:e])  
  15.         year = int(a[0]/10000);  
  16.         m = int((a[0]%10000)/100);  
  17.         month = str(m);  
  18.         if m <10 :  
  19.             month = "0" + month;  
  20.         d = (a[0]%10000)%100;  
  21.         day=str(d);  
  22.         if d< 10 :  
  23.             day = "0" + str(d);  
  24.         dd = str(year)+"-"+month+"-"+day  
  25.         openPrice = a[1]/100.0  
  26.         high = a[2]/100.0  
  27.         low =  a[3]/100.0  
  28.         close = a[4]/100.0  
  29.         amount = a[5]/10.0  
  30.         vol = a[6]  
  31.         unused = a[7]    #这个是没有用的指标
  32.         if i == 0 :  
  33.             preClose = close  
  34.         ratio = round((close - preClose)/preClose*100, 2)  
  35.         preClose = close  
  36.         item=[code, dd, str(openPrice), str(high), str(low), str(close), str(ratio), str(amount), str(vol)]  
  37.         items.append(item)  
  38.         b=b+32  
  39.         e=e+32  
  40.          
  41.     return items  

  42. code = '600000'

  43. hi = exactStock(r'D:\Program Files\tdx\vipdoc\sh\lday\sh'+code+'.day',code)  
  44. hello = pd.DataFrame(hi)
  45. hello.columns  = ['code','day','open','high','low','close','ratio','amount','vol']
复制代码


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|关于我们|小黑屋|手机版|Archiver|帮助|DMER 数据分析 ( 蜀ICP备13007024号-2  

GMT+8, 2018-10-23 14:27 , Processed in 0.203506 second(s), 34 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表