package main
import (
"encoding/csv"
"fmt"
"io"
"log"
"os"
)
func main() {
// Read row-by-row (low memory)
f, _ := os.Open("users.csv")
defer f.Close()
r := csv.NewReader(f)
for {
record, err := r.Read()
if err == io.EOF { break }
if err != nil { log.Fatal(err) }
fmt.Println(record) // []string{"id","name","email"}
}
// Write CSV
out, _ := os.Create("export.csv")
defer out.Close()
w := csv.NewWriter(out)
defer w.Flush() // CRUCIAL — buffered
w.Write([]string{"id", "name", "email"})
w.Write([]string{"1", "Alice", "a@x.com"})
w.Write([]string{"2", "Bob", "b@x.com"})
// For huge writes, also check w.Error() after Flush()
if err := w.Error(); err != nil { log.Fatal(err) }
}
Create a free account and build your private vault. Share publicly whenever you want.