yamakawa
发表于 2017-7-3 17:01:10
数据在变量里。。。。那就直接Local $Txt = $sText
joint
发表于 2017-7-3 17:14:14
回复 16# yamakawa
明天再试下,刚才重启软件后,临时数据都没了,存盘的是我已经修改过的,看不出问题。
yamakawa
发表于 2017-7-3 20:24:53
本帖最后由 yamakawa 于 2017-7-3 20:33 编辑
回复 17# joint $Txt = StringRegExpReplace($Txt,'""'," ")
$Txt = StringRegExpReplace($Txt,'(?im)(?:")(\V+?)\h(\V+)\h(\V+?)\h(\V+?)"',' $1,$2,$3,$4 ')主要就是这两行代码,,替换你原来代码中所有的stringreplace语句
闲的没事做,把你给的那个附件又转回原形,然后测试,截图。。。楼主的要求应该是这样的吧。。第二列随机位置出现空格
joint
发表于 2017-7-3 21:31:31
回复joint 主要就是这两行代码,,替换你原来代码中所有的stringreplace语句
闲的没事做,把你给的那个 ...
yamakawa 发表于 2017-7-3 20:24 http://www.autoitx.com/images/common/back.gif
应该是的,就是因为空格的不标准不一致导致了替换后出现了分割符的错位。
还没看过正则方面的内容,所以用笨办法做的替换,你的方法应该才是合理的处理方式。明天我再试试。
非常感谢。
joint
发表于 2017-7-4 10:11:02
回复 18# yamakawa
单独执行时好像没问题,但和其它代码一起执行就出错,分别存储文件后发现输出格式上有差异:
因为原来考虑还要读取代码,而0开头的代码按数字格式的话读取时前面的0会被消去,为保险起见,改成了字符类型(但本列中不包含代码)。所以我的输出格式是这样的:
"time","name","type","value"
"↓09:44","永辉超市","加速下跌","-2.1%"
"◆09:44","惠发股份","大笔卖出","326"
"◆09:44","科锐国际","大笔卖出","541"
"↑09:44","青龙管业","火箭发射","1.0%"
"↓09:44","金牌厨柜","高台跳水","5.3%"
"◆09:44","我乐家居","大笔买入","608"
"◆09:44","世名科技","大笔买入","183"
"↓09:44","长久物流","加速下跌","-1.7%"
"↓09:44","格力电器","打压指数","0.51点"
"◆09:44","必创科技","大笔卖出","186"
"◆09:44","华体科技","大笔卖出","562"
"↑09:44","云南锗业","火箭发射","4.6%"
"↑09:44","创新股份","火箭发射","3.8%"
你的代码处理后是这样的:
time,name,type,value
◆09:44,杭州园林,大笔买入,198
↓09:44,恒通科技,高台跳水,2.1%
↑09:44,安奈儿,火箭发射,2.8%
↑09:44,中矿资源,火箭发射,2.7%
◆09:44,必创科技,大笔卖出,247
↑09:44,上海洗霸,火箭发射,1.8%
◆09:44,弘信电子,大笔卖出,343
◆09:44,科锐国际,大笔买入,721
◆09:44,华体科技,大笔卖出,267
◆09:44,天马科技,大笔卖出,765
◆09:44,必创科技,大笔卖出,1046
◆09:44,杰恩设计,大笔买入,267
↓09:44,永辉超市,加速下跌,-2.1%
◆09:44,惠发股份,大笔卖出,326
对正则不熟,你的代码我还看不大懂,麻烦再改下我再试试。谢谢。
yamakawa
发表于 2017-7-4 11:09:07
本帖最后由 yamakawa 于 2017-7-4 11:10 编辑
回复 20# joint
。郁闷,,怎么贴代码就错误。。。$Txt = StringRegExpReplace($Txt,'(?im)^"(\V+?)\h(\V+)\h(\V+?)\h(\V+?)",'"$1","$2","$3","$4"')
joint
发表于 2017-7-4 11:43:30
本帖最后由 joint 于 2017-7-4 11:45 编辑
回复joint
。郁闷,,怎么贴代码就错误。。。
yamakawa 发表于 2017-7-4 11:09 http://www.autoitx.com/images/common/back.gif
还是有点问题
yamakawa
发表于 2017-7-4 11:48:07
本帖最后由 yamakawa 于 2017-7-4 11:49 编辑
抱歉。。。。直接在网页上写代码,,,没纠错,,$Txt = StringRegExpReplace($Txt,'(?im)^"(\V+?)\h(\V+)\h(\V+?)\h(\V+?)"','"$1","$2","$3","$4"')就少了一个单引号。。。。
joint
发表于 2017-7-4 12:01:27
本帖最后由 joint 于 2017-7-4 12:04 编辑
抱歉。。。。直接在网页上写代码,,,没纠错,,就少了一个单引号。。。。
yamakawa 发表于 2017-7-4 11:48 http://www.autoitx.com/images/common/back.gif
谢谢,这次不报错了,看起来和我原来的格式也没什么区别,但做下述处理时,
dz['time']=dz['time'].str
dz['value']=dz['value'].str.replace("点","")
dz['value']=dz['value'].str.replace("%","")
也就是把时间前面的符号和后面的字符型符号去掉。
原来的没问题,你这个会提示:SyntaxError: invalid syntax
我还没搞清楚是怎么回事。
吃完饭再看看。
yamakawa
发表于 2017-7-4 12:13:52
本帖最后由 yamakawa 于 2017-7-4 12:20 编辑
回复 24# joint
这就要看你自己了。我没学过p语言
那句英文意思是 语法错误
joint
发表于 2017-7-4 12:26:55
本帖最后由 joint 于 2017-7-4 12:30 编辑
回复joint
这就要看你自己了。我没学过p语言
那句英文意思是 语法错误
yamakawa 发表于 2017-7-4 12:13 http://www.autoitx.com/images/common/back.gif
我知道是提示语法错误,只是比较奇怪两个看起来已经完全一样的文本居然会有不同的结果。随后我再仔细比较下差别在什么地方。
joint
发表于 2017-7-4 13:07:00
仔细对比文本,就发现第二列有点差别,但我也没对第二列做什么操作啊,真是奇怪。
yamakawa
发表于 2017-7-4 13:39:45
回复 27# joint
第二列文字的首字是空格导致的?那去掉空格试试
第一个\h后面加个+试试
joint
发表于 2017-7-4 15:19:51
回复joint
第二列文字的首字是空格导致的?那去掉空格试试
第一个\h后面加个+试试
yamakawa 发表于 2017-7-4 13:39 http://www.autoitx.com/images/common/back.gif
好,谢谢。
chzj589
发表于 2017-7-4 19:40:01
本帖最后由 chzj589 于 2017-7-4 19:57 编辑
不好意思{:face (382):}