PTT
Submit
Submit
选择语言
正體中文
简体中文
PTT
Office
[算表] VBA 如何汇入资料本身包含逗号的csv档?
楼主:
foolkids
(翼をください)
2018-06-08 16:08:02
软件:Office Excel VBA
版本:2010
原本是透过 Line Input将csv档逐行读入,并透过Split指令拆成阵列
但是现在的问题是来源资料本身包含逗号,导致Split指令出错。
目前来源资料如下:
"aaaa","bbbb","cc,cc",1.23,0,"",500,"eee"
字串前后会有""夹住,数字不会有,有逗号的字串出现位置不定...
请问有前辈友好建议的吗?
作者: soyoso (我是耀宗)
2018-06-08 17:52:00
因要分割的逗号前双引号的个数为偶数如无合适的方法的话,可循环(逐字或逗号),判断逗号前双引号个数是否为偶数,是的话,置换其他分割字符。最后再以以新的分割字符来split
楼主:
foolkids
(翼をください)
2018-06-08 17:59:00
谢谢SO大,可是资料笔数不少,不知道这样会不会影响效能但是我还是会试试看,谢谢!
作者: soyoso (我是耀宗)
2018-06-08 22:13:00
觉得以循环和判断是会影响的如不以循环判断的话,也可以正规表示将,[0-9]和双引号,取代逗号为其他分隔符号
楼主:
foolkids
(翼をください)
2018-06-08 23:13:00
我有试着想要取代,但是逗号出现的位置没有规律,所以不知道怎么取代比较好。像是前后都是数字的逗号跟字串内的逗号其实就分不出来了
作者: soyoso (我是耀宗)
2018-06-08 23:20:00
回文的正规表示是可以将字串内的逗号排除的只针对,数字0-9或,"的部分来取代
楼主:
foolkids
(翼をください)
2018-06-09 05:37:00
呃… 我想不出来怎么取代,SO大可以解惑吗? QQ
http://discuz.bestdaylong.com/thread-37799-1-1.html
是这个吗?Pattern?
作者: soyoso (我是耀宗)
2018-06-09 09:32:00
类似该网页,pattern内以括号包住条件可于取代以$1方式取出;需加上global为truepattern条件会是",([0-9""])";取代为";$1";split以";"
作者:
cancelpc
(阿吉)
2018-06-15 12:40:00
这个问题是一堆人都没按照正常 csv 规范产档。csv 规范中都有这些意外状况的处理方式。随便自己写产出 csv 档,遇到分隔符号有冲突,就自己乱订分隔符号,甚至用多个字符当分隔符号。csv 规范中有提到资料里有 , 时,该怎么处理。有 " 引号时该怎么处理。(当然分隔符号可以自订,但至少规范中都有考虑到,只是遇到很多人只做半套,遇到问题就改定分隔符号,没去处理。导致一些工具无法处理这些自订的 csv 格式)
继续阅读
[算表] 多条件判定结果
meteor79510
[出售] Office 365 家用版 与 个人版 与 企业版
Taiwan641
[算表] excel的F4键有时不能用
vivienhung
[算表] 阵列排序问题(不要排序)
ptguitar
[问题] excel 2016 共同编辑
wt740217
Fw: [问题] win10新注音输入到一半会自己enter
zura
[算表] 抓取数字转国字大写
ganjuro
[算表] excel 贴到word宏问题
ptguitar
[问题]excel重复if的问题
qoop0624
[算表] 自动跨栏置中
bcs
Links
booklink
Contact Us: admin [ a t ] ucptt.com