Package csvを使ってCSVファイルを読み込む例になります。
読み込むCSVファイルを準備する
文字列は、「"」で囲み要素内に「,」がある内容としてみました。
"name","age"
"hoge,fuga", 100
読み込んで見る
package main
import (
"encoding/csv"
"fmt"
"io"
"log"
"os"
)
func main() {
// ファイルを開く
file, err := os.Open("test.csv")
if err != nil {
log.Fatal(err)
}
// 開いたファイルの後始末
defer file.Close()
// CSVを読み込むためのReaderを生成
reader := csv.NewReader(file)
for {
// 1行づつ読み込む
record, err := reader.Read()
// ファイルの末尾で処理終了
if err == io.EOF {
break
}
if err != nil {
log.Fatal(err)
}
fmt.Println(record)
}
}
出力結果
クォートが削除されて読み込まれ、要素内の「,」も正しく読み込まれていることがわかります。
[name age]
[hoge,fuga 100]