gocsv bare " in non-quoted-field
时间: 2024-10-09 21:03:16 浏览: 38
smtp.tar.gz_quoted-printable
`gocsv`是Go社区中一个流行的第三方库,用于处理CSV文件,它的全名可能是`github.com/gocarina/gocsv`。然而,官方标准库`encoding/csv`已经足够强大,可以处理CSV中的非引号字段包含双引号的情况。如果在非引号字段中遇到双引号`"`, `gocsv`或者其他库通常会认为它们不是字段的结束标志,而是字段内容的一部分。
例如,在`gocsv`中,当你读取CSV数据时,只要设置正确的选项,它会自动处理这种情况:
```go
import (
"gocsv.io/gocsv"
"os"
)
type MyStruct struct {
FieldWithQuotedDoubleQuote string
}
func main() {
file, err := os.Open("yourfile.csv")
if err != nil {
// 处理错误...
return
}
defer file.Close()
err = gocsv.UnmarshalReader(file, &[]MyStruct{}, func(r *gocsv.Record) error {
// r["FieldWithQuotedDoubleQuote"] 就包含了原始的双引号,不需要特殊处理
return nil
})
if err != nil {
// 处理解析错误...
return
}
}
```
在这种情况下,双引号会被视为普通字符,而不是结束字段的信号。
阅读全文