读取CSV时如何指定编码格式?

时间:2018-12-28 18:47:10

标签: csv go utf-8

我正在编写一个程序包以在Go中读取CSV文件,并且我需要打开可能以不同格式(例如UTF8,Latin1或其他格式)编码的CSV文件。有没有办法指定要读取的CSV文件的编码格式?

1 个答案:

答案 0 :(得分:5)

  

Package csv

import "encoding/csv"
     

func NewReader

func NewReader(r io.Reader) *Reader
     

NewReader返回一个从r读取的新Reader。


提供io.Readercsv.NewReader,将CSV文件字符集映射到Unicode UTF-8。

例如,

import (
    "encoding/csv"

    "golang.org/x/text/encoding/charmap"
)

file, err := os.Open(filename)
if err != nil {
    return err
}
defer file.Close()
rdr := csv.NewReader(charmap.ISO8859_15.NewDecoder().Reader(file))