python 通达信数据_[python]沪深龙虎榜数据导入通达信的自选板块,并标注于K线图上...

1 #coding=utf-8

2

3 #读取'[paint]'开头的csv文件

4 #copyright @ WangXinsheng

5 #http://www.cnblogs.com/wangxinsheng/

6 importos7 importstruct8 importtime9 importdatetime10

11 defgetPriceByte(infile,arg,code,ss,day):12 dirc = {"-5":-3,"-3":-2,"-1":-1,"1":1,"3":2,"5":3,"7":4,"9":5,"11":6}13 first =014 second =015 a =float(arg)16 for i in [-5,-3,-1,1,3,5,7,9,11]:17 ib = i - 2

18 if(a>=2**ib and a<2**i):19 #print(str(a)+":["+str(2**ib)+","+str(2**i)+"]"+"i:"+str(i)+" ib:"+str(ib))

20 first =ib21 break;22 #print(first)

23 chushu = 2**first24 if(arg >= chushu*2):25 second = arg /chushu26 #print(second)

27 second = int(second*64)28 else:29 second = arg / chushu -1

30 #print(second)

31 second = int(second*128)32

33 if(first<0):34 first = 64 +dirc[str(first)]35 else:36 first = 63 +dirc[str(first)]37 '''

38 print(first)39 print(second)40 print(struct.pack('B',first))41 print(struct.pack('B',second))42 '''

43 #print(struct.pack('B',first))

44 #print(struct.pack('B',second))

45

46 infile.write(struct.pack('B',ss))47 infile.write(code.encode())48 infile.write(b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')49 infile.write(b'\x03')50 infile.write('STANDK'.encode())51 infile.write(b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')52 infile.write(b'\x04')53 infile.write(b'\x00')54 infile.write(b'\x1a\x10\x00\x00')55 infile.write(struct.pack('i',int(day)))56 infile.write(b'\x00\x00')57 infile.write(struct.pack('B',second))58 infile.write(struct.pack('B',first))59 infile.write(b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdcz3\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')60

61 print(str(code)+':已在'+day+"日,价格:"+str(arg)+"加入标记")62 #infile = open("tdxline.eld","rw")

63 #getPriceByte(5.55)

64 file = open("WXSline.eld","wb")65 zxg = ''

66 path=r'.'

67 files =os.listdir(path)68 files.sort()69 j=070 for f infiles:71 if(f.startswith('[paint]') and f.endswith('.csv')):72 print('读取文件:'+path+'/'+f)73

74 f=open(path+'/'+f,'rt')75 infos =f.readlines()76 f.close()77 i=078 for info ininfos:79 if(i==0):80 i=i+1

81 continue

82 tmp = info.split(',')83 if(len(tmp)<2):84 continue

85 code = str(tmp[1].replace('"','').replace("'",""))86 if(code.startswith('6')):87 ss = 1

88 else:89 ss =090 addzxg = ''

91 try:92 zxg.index(str(ss)+code)93 except:94 addzxg = str(ss)+code+"\n"

95

96 if(addzxg!=''):97 zxg = zxg + str(ss)+code+"\n"

98 if(len(tmp)<10):99 continue

100

101 days = tmp[0].split('-')102 if(len(days)<2):103 days = tmp[0].split('/')104

105 if(len(days)<2):106 continue

107

108 if(len(days[1])<2):109 days[1] = '0'+days[1]110 if(len(days[2])<2):111 days[2] = '0'+days[2]112 day = days[0]+days[1]+days[2]113 #print(day)

114

115 priceArr = tmp[9].replace('"','').split('%')116 if(len(priceArr)<2):117 continue

118 a = float(priceArr[1].replace('[','').replace(']',''))*(1-float(priceArr[0].replace('%',''))/100)119 a = round(a,2)120 code = str(tmp[1].replace('"','').replace("'",""))121 if(code.startswith('6')):122 ss = 1

123 else:124 ss =0125

126 getPriceByte(file,a,code,ss,day)127 '''

128 if(j>3):129 break130 else:131 j=j+1132 '''

133

134 fileA = open("WXS条件股.ebk","w")135 fileA.write(zxg)136 fileA.close()137 file.close()138 print('处理完了\n画图文件地址:./WXSline.eld')139 print('\n板块文件地址:./WXS条件股.ebk')

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值