| // Copyright 2014 Oleku Konko All rights reserved. |
| // Use of this source code is governed by a MIT |
| // license that can be found in the LICENSE file. |
| // This module is a Table Writer API for the Go Programming Language. |
| // The protocols were written in pure Go and works on windows and unix systems |
| // Start A new table by importing from a CSV file |
| // Takes io.Writer and csv File name |
| func NewCSV(writer io.Writer, fileName string, hasHeader bool) (*Table, error) { |
| file, err := os.Open(fileName) |
| csvReader := csv.NewReader(file) |
| t, err := NewCSVReader(writer, csvReader, hasHeader) |
| // Start a New Table Writer with csv.Reader |
| // This enables customisation such as reader.Comma = ';' |
| // See http://golang.org/src/pkg/encoding/csv/reader.go?s=3213:3671#L94 |
| func NewCSVReader(writer io.Writer, csvReader *csv.Reader, hasHeader bool) (*Table, error) { |
| headers, err := csvReader.Read() |
| record, err := csvReader.Read() |