csv 0.14.2

CSV parsing with automatic type based decoding and encoding.
package main

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

func readAll(r io.Reader) int {
	fields := 0
	csvr := csv.NewReader(r)
	for {
		row, err := csvr.Read()
		if err != nil {
			if err == io.EOF {
				break
			}
			log.Fatal(err)
		}
		fields += len(row)
	}
	return fields
}

func main() {
	// This is a 3.6GB file from a data set that can be downloaded here:
	// http://www2.census.gov/acs2010_5yr/pums/csv_pus.zip
	huge := "../examples/data/ss10pusa.csv"
	f, err := os.Open(huge)
	if err != nil {
		log.Fatal(err)
	}
	fmt.Println(readAll(f))
}