diff options
author | Péter Szilágyi <peterke@gmail.com> | 2017-04-11 07:25:53 +0800 |
---|---|---|
committer | Felix Lange <fjl@users.noreply.github.com> | 2017-04-11 07:25:53 +0800 |
commit | 706a1e552c96bf75c60844c1dc28fc83778795fc (patch) | |
tree | babbc6193bbdbde23f063a26544c630434047793 /vendor/github.com/olekukonko/tablewriter/csv.go | |
parent | 18bbe124259a852b349e8238ffe394639e29d803 (diff) | |
download | go-tangerine-706a1e552c96bf75c60844c1dc28fc83778795fc.tar go-tangerine-706a1e552c96bf75c60844c1dc28fc83778795fc.tar.gz go-tangerine-706a1e552c96bf75c60844c1dc28fc83778795fc.tar.bz2 go-tangerine-706a1e552c96bf75c60844c1dc28fc83778795fc.tar.lz go-tangerine-706a1e552c96bf75c60844c1dc28fc83778795fc.tar.xz go-tangerine-706a1e552c96bf75c60844c1dc28fc83778795fc.tar.zst go-tangerine-706a1e552c96bf75c60844c1dc28fc83778795fc.zip |
cmd/puppeth: your Ethereum private network manager (#13854)
Diffstat (limited to 'vendor/github.com/olekukonko/tablewriter/csv.go')
-rw-r--r-- | vendor/github.com/olekukonko/tablewriter/csv.go | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/vendor/github.com/olekukonko/tablewriter/csv.go b/vendor/github.com/olekukonko/tablewriter/csv.go new file mode 100644 index 000000000..98878303b --- /dev/null +++ b/vendor/github.com/olekukonko/tablewriter/csv.go @@ -0,0 +1,52 @@ +// 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 + +package tablewriter + +import ( + "encoding/csv" + "io" + "os" +) + +// 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) + if err != nil { + return &Table{}, err + } + defer file.Close() + csvReader := csv.NewReader(file) + t, err := NewCSVReader(writer, csvReader, hasHeader) + return t, err +} + +// 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) { + t := NewWriter(writer) + if hasHeader { + // Read the first row + headers, err := csvReader.Read() + if err != nil { + return &Table{}, err + } + t.SetHeader(headers) + } + for { + record, err := csvReader.Read() + if err == io.EOF { + break + } else if err != nil { + return &Table{}, err + } + t.Append(record) + } + return t, nil +} |