在 github 上搜索了相关问题,好像都没有解决方案,有没有大佬知道怎么解决?
1
oott123 2019-12-02 16:07:29 +08:00
至少把那行 csv 贴出来看看吧。
|
2
fatbear001 OP @oott123 数据:ALD4501PEL,ST,15+,20-DIP ( 0.300",7.62mm ),990,
|
3
zhzy 2019-12-02 16:15:10 +08:00 via iPhone
双引号需要转义 根据 csv 标准双引号要用两个双引号来表示或者用斜杠转义 维基百科原文:Embedded double quote characters may then be represented by a pair of consecutive double quotes,[13] or by prefixing a double quote with an escape character such as a backslash (for example in Sybase Central).
|
4
oott123 2019-12-02 16:15:42 +08:00
感觉你这数据本身也不是很规整的 csv
引号 " 替换成两个引号 "" 试试吧 |
5
diib 2019-12-02 16:25:20 +08:00
源数据不规则的话,自己写 parser 吧。
改源数据的方法也可以,但实际情况不一定允许。 |
6
ca2oh4 2021-01-07 14:13:25 +08:00
推荐处理:
//r := csv.NewReader(fs) decoder := mahonia.NewDecoder("gbk") // 把原来 ANSI 格式的文本文件里的字符,用 gbk 进行解码。 r := csv.NewReader(decoder.NewReader(fs)) ////当我们在 CSV 文件上具有 de "(双引号)值时,就会发生这种情况。 ////为了避免此错误,我们应该使用 LazyQuotes Parameter 像这样: //r.Comma = ';' r.LazyQuotes = true |