Go 生成 CSV 文件
Go CSV 大约 1129 字写入
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)
}
阅读 1497 · 发布于 2020-11-12
————        END        ————
Give me a Star, Thanks:)
https://github.com/fendoudebb扫描下方二维码关注公众号和小程序↓↓↓

昵称:
随便看看
换一批
-
Linux 之 CentOS yum 安装 PHP7.2阅读 2997
-
Linux 命令之设置和查看开机启动程序阅读 2136
-
Kubernetes 数据存储 NFS阅读 961
-
Spring Boot 配置文件中读取变量的优先级阅读 482
-
JavaScript Failed to execute 'requestFullscreen' on 'Element': API can only be initiated by a user gesture.阅读 6037
-
OpenResty lua-resty-auto-ssl: failed to set ocsp stapling for阅读 2175
-
Go 定时任务阅读 1624
-
Java 消除 if else 代码的几种方式阅读 2667
-
AWS 更换 SSH 登陆密钥对阅读 2174
-
软考-系统架构设计师:CISC 与 RISC阅读 3396