tingting 发表于 2017-9-4 14:17:14

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

import struct
import pandas as pd

def exactStock(fileName, code):
    ofile = open(fileName,'rb')
    buf=ofile.read()
    ofile.close()
    num=len(buf)
    no=num/32
    b=0
    e=32
    items = list()   
    for i in range(int(no)):
      
      a=struct.unpack('IIIIIfII',buf)
      year = int(a/10000);
      m = int((a%10000)/100);
      month = str(m);
      if m <10 :
            month = "0" + month;
      d = (a%10000)%100;
      day=str(d);
      if d< 10 :
            day = "0" + str(d);
      dd = str(year)+"-"+month+"-"+day
      openPrice = a/100.0
      high = a/100.0
      low =a/100.0
      close = a/100.0
      amount = a/10.0
      vol = a
      unused = a    #这个是没有用的指标
      if i == 0 :
            preClose = close
      ratio = round((close - preClose)/preClose*100, 2)
      preClose = close
      item=
      items.append(item)
      b=b+32
      e=e+32
         
    return items

code = '600000'

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

页: [1]
查看完整版本: 通达信 。day格式的日线 数据 转化为 csv