[Go] CSV 形式の文字列を作成する
作成日: 2022年04月21日
encoding/csv
パッケージを使うことで CSV 形式の文字列を作成することができます。
package main
import (
"bytes"
"encoding/csv"
"fmt"
)
func main() {
records := [][]string{
{"name", "age", "country"},
{"Tanaka", "20", "Japan"},
{"Bob", "25", "USA"},
{"Tom", "30", "England"},
}
buf := new(bytes.Buffer)
w := csv.NewWriter(buf)
err := w.WriteAll(records)
if err != nil {
panic("error")
}
if err := w.Error(); err != nil {
panic("error")
}
fmt.Println(buf.String())
}
説明
new(bytes.Buffer)
で CSV 形式のデータを書き込み先となるbuf
を作成します。csv.NewWriter(buf)
で書き込み先をbuf
として*csv.Writer
を生成します。w.WriteAll(records)
でrecord
の内容を書き込みます。fmt.Println(buf.String())
で CSV 形式のデータを出力します。
実行結果
name,age,country
Tanaka,20,Japan
Bob,25,USA
Tom,30,England