我正在编写一个程序包以在Go中读取CSV文件,并且我需要打开可能以不同格式(例如UTF8,Latin1或其他格式)编码的CSV文件。有没有办法指定要读取的CSV文件的编码格式?
答案 0 :(得分:5)
import "encoding/csv"
func NewReader(r io.Reader) *Reader
NewReader返回一个从r读取的新Reader。
提供io.Reader
至csv.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))