
golangでcsvを作成したかったので、調べました。
さすがgolangって感じでサクッと出来たので書きたいと思います。
csvファイルの書き出し
csvを書き出すコードは以下になります。
import (
"encoding/csv"
"log"
"os"
)
var sample = []string{
"sample_1",
"sample_2",
"sample_3",
}
func main() {
//書き込みファイル作成
file, err := os.Create("/出力したいパス/sample.csv")
if err != nil {
log.Println(err)
}
defer file.Close()
writer := csv.NewWriter(file) // utf8
writer.Write(sample)
writer.Flush() // ファイル出力
}
sample.csvを出力して、その中身は
sample_1,sample_2,sample_3
というcsvファイルになります。
golangがデフォルトでencoding/csvというパッケージを用意してくれているので
そちらを使用しています。
基本は上記のコードでcsvファイル書き出しが可能だと思います。
オプション
UseCRLFとCommaというオプションも存在しています。
writer := csv.NewWriter(file) // utf8
writer.UseCRLF = true // デフォルトはLFのみ
writer.Comma = ';'
writer.Write(sample)
writer.Flush() // ファイル出力
UseCRLFは改行コードを指定出来て、Commaは区切り文字を指定することが可能になります。
これは意外と便利そう。
おわり!!