Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to specify encoding format while reading CSV?

Tags:

csv

utf-8

go

I am writing a package to read CSV files in Go, and I need to open CSV files which may be coded in different formats (such as UTF8, Latin1 or others). Is there a way to specify the encoding format of the CSV file to read?

like image 322
Emanolo78 Avatar asked Sep 04 '26 03:09

Emanolo78


1 Answers

Package csv

import "encoding/csv"

func NewReader

func NewReader(r io.Reader) *Reader

NewReader returns a new Reader that reads from r.


Provide an io.Reader to csv.NewReader that maps the CSV file character set to Unicode UTF-8.

For example,

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))
like image 72
peterSO Avatar answered Sep 07 '26 00:09

peterSO