Documentation ¶
Overview ¶
package csvdict implements a "dictionary reader" style CSV parser (on top of the default `encoding/csv` package) to return rows a key-value dictionaries rather than lists. Example
Reading files
import ( "github.com/whosonfirst/go-csvdict" "os" ) reader, reader_err := csvdict.NewReaderFromPath("example.csv") // or maybe you might do // reader, err := csvdict.NewReader(os.Stdin) if err != nil { panic(err) } for { row, err := reader.Read() if err == io.EOF { break } if err != nil { return err } value, ok := row["some-key"] // and so on... }
Writing files
import ( "github.com/whosonfirst/go-csvdict" "os" ) fieldnames := []string{"foo", "bar"} writer, err := csvdict.NewWriter(os.Stdout, fieldnames) // or maybe you might do // writer, err := csvdict.NewWriterFromPath("new.csv", fieldnames) if err != nil { panic(err) } writer.WriteHeader() row := make(map[string]string) row["foo"] = "hello" row["bar"] = "world" // See this? "baz" is not included in the list of fieldnames // above so it will be silently ignored and excluded from your // CSV file. Perhaps it should trigger an error. It doesn't, today... row["baz"] = "wub wub wub" writer.WriteRow(row)
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Reader ¶
type Reader implements a `encoding/csv` style reader for CSV documents with named columns.
func NewReaderFromPath ¶
NewReader will return a Reader instance that will load data from 'path'
type Writer ¶
type Writer implements a `encoding/csv` style writer for CSV documents with named columns.
func NewWriter ¶
NewWriter will return a new Writer that writes to wr using a set list of column names defined in fieldnames.
func NewWriterFromPath ¶
NewWriter will return a new Writer that writes to path using a set list of column names defined in fieldnames.
func (Writer) Flush ¶
Flush writes any buffered data to the underlying writer. To check if an error occurred during the Flush, call Error.
func (Writer) WriteHeader ¶
WriteHeader will write the CSV-encoded list of fieldnames passed to dw.