我在阅读存档的CSV文件时遇到了一些问题.
所以我想使用csv包和gzip包,但我不知道如何组合它们.
在gzip.Reader(p []bytes)与csv.Reader()具有不同的签名.
这是我的读者功能:
func reader(filename string, c chan string) {
fi, err := os.Open(filename)
var r *bufio.Reader
if err != nil {
fmt.Println("%q",err)
os.Exit(1)
}
fz, err := g.NewReader(fi)
if err != nil {
r = bufio.NewReader(fi)
}else {
r = bufio.NewReader(fz)
}
for {
line, err := r.ReadString('\n')
if err != nil {
fmt.Println("done reading file")
c <- "done"
break
}else{
c <- fmt.Sprintf("%q",strings.Fields(line))
}
}
}
Run Code Online (Sandbox Code Playgroud)
你有什么建议吗 ?
我有以下问题.我必须读取由'|'分隔的csv文件,有些字段有大的json字符串,其中一些包含'|'.这些字段用单引号括起来.如何在GOLANG中指定字段用单引号括起来.
这是它现在的设置方式:
fx := csv.NewReader(fz)
fx.Comma = '|'
fx.LazyQuotes = true
fx.FieldsPerRecord = 16
Run Code Online (Sandbox Code Playgroud)
我没有在GODOCS选项中看到任何有关机箱规则的内容.有人有解决方法吗?