Golang操作csv
Golang csv 大约 1128 字写入
f, err := os.Create("test.csv")
if err != nil {
log.Fatal(err)
}
defer f.Close()
// UTF BOM 防止中文乱码
_, _ = f.WriteString("\xEF\xBB\xBF")
w := csv.NewWriter(f)
_ = w.Write([]string{"第一列", "第二列", "第三列"})
_ = w.Write([]string{"111", "222", "333"})
_ = w.Write([]string{"111", "\"", "\""})
_ = w.Write([]string{"111", `"""`, `"""`})
_ = w.Write([]string{"111", `""`, `""`})
_ = w.Write([]string{"111", `''`, `''`})
_ = w.Write([]string{"111", `'`, `'`})
_ = w.Write([]string{"111", `'''"`, `'''"`})
_ = w.WriteAll([][]string{
{"111", "\r\n", "333"},
{"111", "\n", "333"},
{"111", "\r", "333"},
})
w.Flush()
读取
大文件
//准备读取文件
f, err := os.Open("test.csv")
if err != nil {
log.Fatal(err)
}
defer f.Close()
r := csv.NewReader(f)
//针对大文件,一行一行的读取文件
for {
row, err := r.Read()
if err != nil && err != io.EOF {
log.Fatal(err)
}
if err == io.EOF {
break
}
fmt.Println(row)
}
小文件
f, _ := os.Open("test.csv")
defer f.Close()
r1 := csv.NewReader(f)
content, err := r1.ReadAll()
if err != nil {
log.Fatal(err)
}
for _, row := range content {
fmt.Println(row)
}
阅读 146 · 发布于 2020-11-12
————        END        ————
扫描下方二维码关注公众号和小程序↓↓↓

昵称:
随便看看
换一批
-
Linux配置top命令显示swap阅读 1745
-
网页添加GitHub star, fork, fllow, watch按钮阅读 609
-
PostgreSQL别名大小写问题阅读 532
-
走进Spring Boot之第三步SpringApplication run方法阅读 463
-
Android添加音效阅读 563
-
Vue-cli+webpack配置接口代理,解决跨域问题阅读 474
-
PHP curl报错:SSL connect error阅读 848
-
MySQL排序阅读 389
-
设计模式之单例模式阅读 391
-
Android MediaMetadataRetriever获取多媒体文件信息阅读 1619