Leggere e scrivere file CSV in Go

Mattepuffo's logo
Leggere e scrivere file CSV in Go

Leggere e scrivere file CSV in Go

In questo articolo vediamo come creare e leggere file CSV in Go.

Non servono librerie esterne, in quanto Go integra già tutto.

Qui sotto il codice completo:

package main

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

func main() {
	fileCsv := "/home/fermat/TEST/test.csv"

	writeCsv(fileCsv)
	readCsv(fileCsv)
}

func writeCsv(fileCsv string) {
	records := [][]string{
		{"ID", "TITOLO"},
		{"1", "titolo 1"},
		{"2", "titolo 2"},
		{"3", "titolo 3"},
	}

	f, err := os.Create(fileCsv)
	defer f.Close()

	if err != nil {
		fmt.Println(err)
		os.Exit(1)
	}

	w := csv.NewWriter(f)
	err = w.WriteAll(records)

	if err != nil {
		fmt.Println(err)
		os.Exit(1)
	}

}

func readCsv(fileCsv string) {
	f, err := os.Open(fileCsv)

	if err != nil {
		fmt.Println(err)
		os.Exit(1)
	}

	r := csv.NewReader(f)

	for {
		record, err := r.Read()

		if err == io.EOF {
			break
		}

		if err != nil {
			fmt.Println(err)
			os.Exit(1)
		}

		fmt.Printf("%s %sn", record[0], record[1])
	}
}

Enjoy!


Condividi

Commentami!