小编dan*_*n89的帖子

如何阅读gzip压缩文件?

我在阅读存档的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 gzip go

8
推荐指数
1
解决办法
5917
查看次数

用于csv解析的Golang机箱规则

我有以下问题.我必须读取由'|'分隔的csv文件,有些字段有大的json字符串,其中一些包含'|'.这些字段用单引号括起来.如何在GOLANG中指定字段用单引号括起来.

这是它现在的设置方式:

fx := csv.NewReader(fz)

fx.Comma = '|'
fx.LazyQuotes = true
fx.FieldsPerRecord = 16
Run Code Online (Sandbox Code Playgroud)

我没有在GODOCS选项中看到任何有关机箱规则的内容.有人有解决方法吗?

csv go

1
推荐指数
1
解决办法
1271
查看次数

标签 统计

csv ×2

go ×2

gzip ×1