【发布时间】:2016-01-18 18:18:00
【问题描述】:
我正在将 xls 转换为 csv。由于我在单列中有逗号,因此我得到的 csv 如下:
AMP FAN,Yes,Shichi,PON Seal,,"Brass, Silver"
AMP FAN,Yes,Shichi,PON Seal,,"Platinum, Gel"
如果您看到最后一列出现双引号,因为它里面有逗号。现在我正在 tcl 文件中读取这个 csv,并且我正在发送到我的目标系统。在目标系统中,这个值是用双引号保存的(意味着完全像 "Brass, Silver")。但是用户不想要那个双引号。所以我想设置像 Brass, Silver 。有什么办法可以避免双引号。下面是我正在使用的当前脚本。
while {[gets $fileIn sLine] >= 0} {
#using regex to handle multiple commas in a single column
set matches [regexp -all -inline -- {("[^\"]+"|[^,]*)(?:$|,)} $sLine]
set lsLine {}
foreach {a b} $matches {lappend lsLine $b}
set sType [lindex $lsLine 0]
set sIsOk [lindex $lsLine 1]
set sMaterial [lindex $lsLine 5]
#later i'm setting sMaterial to some attribute
}
请帮助我。
注意:我将无法使用 csv 包,因为用户在他们的环境中没有它,我无法自己添加。
【问题讨论】: