csv

package
v12.41.0+incompatible Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 8, 2022 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Overview

Package csv contains simple CSV parser

Index

Examples

Constants

This section is empty.

Variables

View Source
var ErrEmptyDest = errors.New("Destination slice length must be greater than 1")

ErrEmptyDest is returned by the ReadTo method if empty destintation slice was given

Functions

This section is empty.

Types

type Reader

type Reader struct {
	Comma rune
	// contains filtered or unexported fields
}

Reader is reader struct

func NewReader

func NewReader(r io.Reader) *Reader

NewReader create new CSV reader

func (*Reader) Read

func (r *Reader) Read() ([]string, error)

Read reads line from CSV file

Example
fd, err := os.Open("file.csv")

if err != nil {
	fmt.Println(err.Error())
	return
}

defer fd.Close()

reader := NewReader(fd)
reader.Comma = ','

for {
	data, err := reader.Read()

	if err == io.EOF {
		break
	}

	fmt.Printf("%#v\n", data)
}
Output:

func (*Reader) ReadTo

func (r *Reader) ReadTo(dst []string) error

ReadTo reads data to given slice

Example
fd, err := os.Open("file.csv")

if err != nil {
	fmt.Println(err.Error())
	return
}

defer fd.Close()

reader := NewReader(fd)
reader.Comma = ','

data := make([]string, 10)

for {
	err := reader.ReadTo(data)

	if err == io.EOF {
		break
	}

	fmt.Printf("%#v\n", data)
}
Output:

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL