我是 Go 新手,我试图通过解析 csv 文件的第一行来获取列名。当我将字符串的值与预期的字符串值进行比较时,比较表明它们不相等,我不知道为什么。当我打印字节值时,我注意到解析字符串的开头有 3 个额外的字节。这似乎只发生在第一列的第一行,它告诉我它与文件格式有关?我不确定,我没有在 CSV go 参考中看到任何内容。如果这是一个“愚蠢”的问题,我提前道歉。
测试.csv:
姓名,邮政编码,foo
约翰,91201,等等
玛丽,98108,嗯,鲍勃,12345,嘘
package main
import (
"encoding/csv"
"fmt"
"os"
)
func main() {
var file, err = os.Open("test.csv")
if err != nil{
fmt.Errorf("Error opening File")
}
reader := csv.NewReader(file)
record, err := reader.Read()
if err != nil{
}
val := record[0]
for i := 0; i<len(val); i++{
fmt.Printf("%x ", val[i])
}
name := "name"
fmt.Println(" ")
for i := 0; i<len(name); i++{
fmt.Printf("%x ", name[i])
}
if val != "name"{
fmt.Println("Did not match name")
} else {
fmt.Println("found it!")
}
}
输出如下所示:
ef bb bf 6e 61 6d 65
6e 61 6d 65
Did not match name
“ef bb bf”从何而来?
江户川乱折腾
相关分类