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!
go csv newreader newwriter
Commentami!