コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

【golang】CSV の読み書きができるライブラリ「Go CSV」紹介

はじめに

「Go CSV」は CSV の読み書きができるライブラリです

読み込みの例

.csv

member1,member2,member3
フシギダネ,フシギソウ,フシギバナ
ヒトカゲ,リザード,リザードン
ゼニガメ,カメール,カメックス

.go

package main

import (
    "fmt"
    "os"

    "github.com/gocarina/gocsv"
)

type Group struct {
    Member1 string `csv:"member1"`
    Member2 string `csv:"member2"`
    Member3 string `csv:"member3"`
}

func main() {
    file, err := os.OpenFile("example.csv", os.O_RDWR|os.O_CREATE, os.ModePerm)
    if err != nil {
        panic(err)
    }
    defer file.Close()

    groups := []*Group{}

    if err := gocsv.UnmarshalFile(file, &groups); err != nil {
        panic(err)
    }
    for _, client := range groups {
        fmt.Println(client.Member1, client.Member2, client.Member3)
    }

}