当前位置: > > > > 使用 ISO-8859-1 编码在 golang 中解析 CSV
来源:stackoverflow
2024-04-29 22:18:37
0浏览
收藏
哈喽!今天心血来潮给大家带来了《使用 ISO-8859-1 编码在 golang 中解析 CSV》,想必大家应该对Golang都不陌生吧,那么阅读本文就都不会很困难,以下内容主要涉及到,若是你正在学习Golang,千万别错过这篇文章~希望能帮助到你!
问题内容
我有一个 csv 文件,其中有一行标题,然后是几十行。当我尝试将其读取为 csv 时,它会作为 1 个大切片返回。为什么它不作为单独的行返回? 输入如下:
col1,col2 val1,val2 val1,val2 val1,val2
object.body
是一个 readcloser
lines, err := csv.newreader(object.body).readall() if err != nil { log.fatal(err) } for _, line := range lines { log.print(line) }
输出返回为
[col1 col2 val1,val2 val1,val2 val1,val2]
我期望的回报是:
[ [val1, val2], [val1, val2], [val1, val2], ]
有什么想法吗?完全被这个难住了。
编辑我错误地忘记在标题中添加逗号。这只是示例代码中的问题,而不是实际问题。对困惑感到抱歉。
编辑我认为此问题是由于 csv 文件的编码不同造成的。
解决方案
我认为您提供的示例中的第一行格式不正确。不应该是 col1,col2
吗?
我认为以下代码可以满足您的要求:
package main import ( "bytes" "encoding/csv" "fmt" ) func main() { data := bytes.NewBufferString(`COL1,COL2 val1,val2 val1,val2 val1,val2`) reader := csv.NewReader(data) reader.Read() // Skip header lines, err := reader.ReadAll() if err != nil { panic(err) } fmt.Println(lines) }
文中关于的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《使用 ISO-8859-1 编码在 golang 中解析 CSV》文章吧,也可关注公众号了解相关技术文章。