[Go] CSV ファイルを生成する

作成日: 2022年11月01日

encoding/csv パッケージを使用すると、CSV ファイルを生成することができます。

package main

import (
    "encoding/csv"
    "os"
)

func main() {
    records := [][]string{
        {"name", "age", "country"},
        {"Tanaka", "20", "Japan"},
        {"Bob", "25", "USA"},
        {"Tom", "30", "England"},
    }

    outputFile, err := os.Create("output.csv")
    if err != nil {
        panic(err)
    }
    defer outputFile.Close()

    csvWriter := csv.NewWriter(outputFile)
    csvWriter.WriteAll(records)
}

説明

  • os.Create("output.csv") で CSV ファイルとして出力したいファイル名を指定して、*os.File を生成します。
  • csv.NewWriter(outputFile)*csv.Writer を得ます。
  • csvWriter.WriteAll(records) で内容の書き込みとファイルの生成を実行します。

実行結果

生成されたファイルの内容は下記となります。

name,age,country
Tanaka,20,Japan
Bob,25,USA
Tom,30,England
Go