この記事の最終更新日: 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))
}
大阪のエンジニアが書いているブログ。
コメント