goutils: github.com/topgate/goutils/interop/excel/csv Index | Examples | Files

package csv

import "github.com/topgate/goutils/interop/excel/csv"

Package csv エクセルとCSVを相互運用するためのパッケージ

Code:

file, err := os.Open("some_sjis_utf8withbom.csv")
if err != nil {
    panic(err)
}
reader := csv.NewReader(file)
data, err := reader.ReadAll()
if err != nil {
    panic(err)
}
fmt.Printf("%v", data)

Code:

file, err := os.Create("some.csv")
if err != nil {
    panic(err)
}
writer := csv.NewUTF8WithBOMWriter(file)
defer writer.Flush()
err = writer.WriteAll([][]string{
    []string{"header1", "header2"},
    []string{"val1", "val2"},
})
if err != nil {
    panic(err)
}

Index

Examples

Package Files

csv.go

Variables

var UTF8BOM = [3]byte{0xEF, 0xBB, 0xBF}

UTF8BOM UTF8のBOM

func NewReader Uses

func NewReader(r io.Reader) *csv.Reader

NewReader 与えられたio.Readerを元に新しいcsvリーダーを返す

Code:

file, err := os.Open("some.csv")
if err != nil {
    panic(err)
}
csv.NewReader(file)

func NewSJISReader Uses

func NewSJISReader(r io.Reader) *csv.Reader

NewSJISReader 与えられたio.Readerを元に新しいリーダーを返す

Code:

file, err := os.Open("some.csv")
if err != nil {
    panic(err)
}
csv.NewSJISReader(file)

func NewSJISWriter Uses

func NewSJISWriter(w io.Writer) *csv.Writer

NewSJISWriter 与えられたio.Writerを元に新しいSJISのcsvライターを返す。

UseCRLFはデフォルトでtrueが設定される

panicが発生するため*bufio.Writerをwに与えてはならない。 *bufio.Writerを与えるとpanicになるのは、返されるWriterのFlushを呼び出しても、与えた*bufio.WriterのFlushが呼び出されないため。 これはencoding/csvのWriterの設計に依存する制約である。

Code:

file, err := os.Open("some.csv")
if err != nil {
    panic(err)
}
csv.NewSJISWriter(file)

func NewUTF8WithBOMReader Uses

func NewUTF8WithBOMReader(r io.Reader) *csv.Reader

NewUTF8WithBOMReader BOM付きUTF8のリーダーを新しく作る

Code:

file, err := os.Open("some.csv")
if err != nil {
    panic(err)
}
csv.NewUTF8WithBOMReader(file)

func NewUTF8WithBOMWriter Uses

func NewUTF8WithBOMWriter(w io.Writer) *csv.Writer

NewUTF8WithBOMWriter 与えられたio.Writerを元に新しいBOM付きUTF8のcsvライターを返す。

UseCRLFはデフォルトでtrueが設定される。

panicが発生するため*bufio.Writerをwに与えてはならない。 *bufio.Writerを与えるとpanicになるのは、返されるWriterのFlushを呼び出しても、与えた*bufio.WriterのFlushが呼び出されないため。 これはencoding/csvのWriterの設計に依存する制約である。

Code:

file, err := os.Open("some.csv")
if err != nil {
    panic(err)
}
csv.NewUTF8WithBOMWriter(file)

Package csv imports 7 packages (graph) and is imported by 1 packages. Updated 2019-11-18. Refresh now. Tools for package owners.