一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

【python】通達(dá)信自定義數(shù)據(jù)管理器的簡單應(yīng)用

 Jeremy_蒼 2024-06-09 發(fā)布于安徽

1.在《通達(dá)信-功能-公式系統(tǒng)-自定義數(shù)據(jù)管理器》中可以手工添加數(shù)據(jù),并導(dǎo)出為txt文本,但手工只能添加幾個(gè),多了就費(fèi)勁了。

2.在任意行情列表頁上,執(zhí)行《系統(tǒng)-數(shù)據(jù)導(dǎo)出》可以將幾千條數(shù)據(jù)導(dǎo)出為txt文本,

于是決定用第2步數(shù)據(jù)來更新第1步的數(shù)據(jù),代碼如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#encoding=utf-8
import re
# read file
dic={}
pattern="([0-9]{6})\s+([\u4e00-\u9fa5]+)\s+(-?[0-9]+\.[0-9]*|-?[0-9]+)\s+(-?[0-9]+\.[0-9]*|-?[0-9]+)\s+(-?[0-9]+\.[0-9]*|-?[0-9]+)\s+(-?[0-9]+\.[0-9]*|-?[0-9]+)\s+(-?[0-9]+\.[0-9]*|-?[0-9]+)\s+(-?[0-9]+\.[0-9]*|-?[0-9]+)"
with open(r'D:\new_hrzq_v6\T0002\export\滬深A股.txt') as infile:
    for line in infile:
        list=re.findall(pattern,line)
        if len(list)>0:
            code=list[0][0]
            name=list[0][7]
            dic[code]=name
# concat lines
sn=0
lines=""
for code,name in dic.items():   
    if str(code)[0]=="6":
        sn=1
    else:
        sn=0
    line=str(sn)+"|"+code+"|"+name+"|"+str("0.000")+"\n"
    lines=lines+line
# write file
with open(r'D:\new_hrzq_v6\外部數(shù)據(jù)(字符串,數(shù)值)_1.txt','w') as outfile:
    outfile.write(lines)
print("ok")

  3.導(dǎo)出的自定義數(shù)據(jù)怎么用呢?答:在《行情報(bào)價(jià) 的標(biāo)題欄上點(diǎn)鼠標(biāo)右鍵-選擇自定義數(shù)據(jù)》,就可將相應(yīng)的“自定義數(shù)據(jù)”顯示在行情報(bào)價(jià)列表中了。

 上述代碼在使用過程中發(fā)現(xiàn)有bug,原因是有的股票名稱中有空格,還有*ST 、A 、TCL、GYQ、N、-U、-UW、-WD等文字,代碼中的正則表達(dá)式不能正確匹配,需要改一下正則表達(dá)式。

 

后來用pandas重寫,在讀xls時(shí)遇到編碼問題,用read_csv  read_html openpyxl xlrd  ,加上參數(shù)cp936 gb18030 utf-8-sig  utf16LE等等統(tǒng)統(tǒng)不好使。

原因似乎是由于程序生成的xls實(shí)際是csv,且格式不規(guī)則,但是用wps顯示正常?搞不明白具體原因!

最終采取逐行讀文件解析,倒是簡單:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#encoding=utf-8
import pandas as pd
from io import StringIO
path1 = r"滬深A股.xls"
path2 = r"外部數(shù)據(jù)(字符串,數(shù)值)_1.txt"
listdf = []
f= open(path1, 'r')
next(f)
next(f)
for line in f:
    linearr = line.strip().split('\t')  
    if(len(linearr))>7:
       listrow = [linearr[0].strip("=").strip("\""),linearr[7]]
    listdf.append(listrow)
f.close()
df=pd.DataFrame(data=listdf,columns=['1','2'])
df.insert(loc=0, column='0', value="0")
df['0']=df['1'].apply(lambda x:1 if x[0]=="6" else 0)
df.insert(loc=3, column='3', value="0.000")
print(df.shape)
print(df.iloc[0:3])
df.to_csv(path2,sep='|',header=0,index=0)

  

生成兩個(gè)文件的版本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#encoding=utf-8
import pandas as pd
from io import StringIO
path1 = r"滬深A股.xls"
path2 = r"外部數(shù)據(jù)(字符串,數(shù)值)_1.txt"
path3 = r"外部數(shù)據(jù)(字符串,數(shù)值)_2.txt"
#需要第幾列,從0開始數(shù)
mycolA = 8
mycolB = 9
listdf = []
f= open(path1, 'r')
next(f)
next(f)
for line in f:
    linearr = line.strip().split('\t')  
    if(len(linearr))>mycolB:
        #保留代碼列、相應(yīng)參數(shù)列
        listrow = [linearr[0].strip("=").strip("\""),linearr[mycolA],linearr[mycolB]]
        listdf.append(listrow)
f.close()
df=pd.DataFrame(data=listdf,columns=['1','2','3'])
df.insert(loc=0, column='0', value="0")
df.insert(loc=0, column='4', value="0.000")
df['0']=df['1'].apply(lambda x:1 if x[0]=="6" else 0)
#選子集
df2=df[["0","1","2","4"]]
df3=df[["0","1","3","4"]]
#print(df.shape)
#print(df.iloc[0:3])
#增加分隔符并保存
df2.to_csv(path2,sep='|',header=0,index=0)
df3.to_csv(path3,sep='|',header=0,index=0)
print("ok")

  

 

 

參考:https://www.cnblogs.com/pyhy/p/16698107.html  

    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    亚洲日本韩国一区二区三区| 精品国产亚洲一区二区三区| 91精品国产av一区二区| 免费观看一级欧美大片| 久热久热精品视频在线观看| 国产在线一区中文字幕| 亚洲欧美日韩色图七区| 黄片免费在线观看日韩| 91精品国自产拍老熟女露脸| 一区二区日本一区二区欧美| 国产亚洲精品一二三区| 欧美午夜不卡在线观看| 亚洲欧洲一区二区综合精品| 开心激情网 激情五月天| 午夜精品在线观看视频午夜| 五月天丁香婷婷狠狠爱| 99国产成人免费一区二区| 久久福利视频视频一区二区| 日本成人中文字幕一区| 日韩视频在线观看成人| 亚洲欧洲精品一区二区三区| 小黄片大全欧美一区二区| 欧洲精品一区二区三区四区| 99久久国产亚洲综合精品| 国产午夜福利在线观看精品| 欧美韩日在线观看一区| 国产农村妇女成人精品| 日韩精品视频一二三区| 九九热精彩视频在线播放| 激情五月激情婷婷丁香| 日本三区不卡高清更新二区| 国产成人精品在线一区二区三区| 中文字幕精品人妻一区| 国产精品成人又粗又长又爽| 91熟女大屁股偷偷对白| 99久久精品久久免费| 国产又粗又硬又大又爽的视频| 国产对白老熟女正在播放| 麻豆视传媒短视频免费观看| 风间中文字幕亚洲一区| 亚洲一级二级三级精品|