package main
import (
"encoding/csv"
"log"
"os"
"fmt"
)
func main(){
filename := "filename.csv"
func(){
// 書き出し
wf, err := os.Create(filename)
if err != nil {
log.Println(err)
}
defer wf.Close()
w := csv.NewWriter(wf) // utf8
w.Write([]string{"hello","world"})
w.Flush()
}()
func(){
// 通常のファイル読み取り
rf, err := os.Open(filename)
if err != nil {
log.Fatal(err)
}
r := csv.NewReader(rf)
for {
line, err := r.Read()
if err != nil {
break
}
fmt.Println(line)
}
}()
func(){
// ヘッダ付きファイル読み取り
rf, err := os.Open(filename)
if err != nil {
log.Fatal(err)
}
r := csv.NewReader(rf)
titles := map[string]int{}
header := []string{}
counter := -1
for {
counter++
line, err := r.Read()
if err != nil {
break
}
if counter == 0{
copy(header,line)
for k,v := range line{
titles[v] = k
}
continue
}
fmt.Println(line)
}
}()
}
Golang CSVファイル入出力
In:
コメントを残す