在字段名称之前提取 csv 空间

我有一个奇怪的问题 我有这个 CSV


NAME,AGE,CITY

Bob,12,London

James,18,London

Joe,55,Manchester

Simon,21,Manchester

以及下面的代码。但是当我摄取文件时,它在第一个字段名称之前带有一个空格(如下所示)

http://img3.mukewang.com/62a6f72b0001745201940111.jpg

下面我尝试了字符串修剪和字符串替换,但都没有奏效。有没有人有任何想法?


func main() {

    var files []string


    root := "C:\\Users\\kiera\\OneDrive\\Documents\\golang\\df\\filewalk\\csvs"

    

    err := filepath.Walk(root, func(path string, info os.FileInfo, err error) error {

        files = append(files, path)

        return nil

    })

    if err != nil {

        panic(err)

    }

    for _, file := range files {

        //open the file

        openfile, _ := ioutil.ReadFile(file)


        //cast byte slice as string

        contents := string(openfile)


        //get rid of whitespace

        contents = strings.TrimSpace(contents)

        contents = strings.ReplaceAll(contents, " NAME", "NAME")

        fmt.Println(contents)

    }

}


慕少森
浏览 145回答 1
1回答

忽然笑

如果您使用 notepad++、notepad、netbeans 等,如果您将文件保存为 utf-8,则会在文件开头添加隐藏字符 (BOM)。只需更改您的 IDE 或禁用 BOM。例如在记事本++中,您可以按照以下说明操作https://www.ibm.com/support/pages/how-remove-bom-any-textxml-file大多数情况下,这个问题发生在 Windows 中。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go