Go言語でCSVをJSONに変換する方法

yurupro csv json go golang Go言語
この記事は約2分で読めます。

この記事の最終更新日: 2023年2月1日

Go言語でCSVをJSONに変換するには、CSVパッケージを使用します。

package main

import (
	"encoding/csv"
	"encoding/json"
	"fmt"
	"os"
)

func main() {
	// CSVの読み込み
	file, err := os.Open("file.csv")
	if err != nil {
		fmt.Println(err)
		return
	}
	defer file.Close()

	reader := csv.NewReader(file)
	records, err := reader.ReadAll()
	if err != nil {
		fmt.Println(err)
		return
	}

	// CSVからJSONに変換
	var data []map[string]string
	header := records[0]
	for i, record := range records {
		if i == 0 {
			continue
		}
		var item = make(map[string]string)
		for j, value := range record {
			item[header[j]] = value
		}
		data = append(data, item)
	}
	jsonData, err := json.Marshal(data)
	if err != nil {
		fmt.Println(err)
		return
	}
	fmt.Println(string(jsonData))
}

コメント

タイトルとURLをコピーしました