天天看点

goland 判断csv文件编码格式

1、下载chardet库

go get github.com/saintfish/chardet
           

2、代码如下

package main

import (
	"bufio"
	"fmt"
	"os"

	"github.com/saintfish/chardet"
)

func main() {
	file, err := os.Open("test.csv")
	if err != nil {
		fmt.Println("error opening file:", err)
		os.Exit(1)
	}
	defer file.Close()

	reader := bufio.NewReader(file)
	detector := chardet.NewTextDetector()
	encoding, err := detector.DetectBest(reader)
	if err != nil {
		fmt.Println("error detecting encoding:", err)
		os.Exit(1)
	}

	fmt.Println("Encoding:", encoding.Charset)
}

           

就可以获取到csv文件的编码格式,在读取时候进行转换