Go: 编码/csv:使用\r 作为记录分隔符错误地解析记录

创建于 2014-04-29  ·  3评论  ·  资料来源: golang/go

在提交错误之前,请检查自发布以来是否已修复
最新发布。 搜索问题跟踪器并检查您是否正在运行
最新版本的围棋:

运行“go version”并与
 http://golang.org/doc/devel/release.html如果存在更新版本的 Go,
安装它并重试您为重现问题所做的操作。

谢谢。

 “go version”打印什么?
转到版本 go1.2.1 达尔文/amd64

 (该错误可能在其他版本中,因为 src/pkg/encoding/csv/reader.go
明确没有 
句柄和单个 \r (第 180-193 行)


什么步骤重现问题?
如果可能,请包含指向 play.golang.org 上的程序的链接。

 http://play.golang.org/p/dr_cz65h_u

 (将分隔符更改为 \n 可以解决问题

 1.读取一个以\r为记录分隔符的CSV文件


发生了什么?
 http://play.golang.org/p/dr_cz65h_u

记录 0, []string{"一", "二", "三\r四",
 “五”、“六\r七”、“八”、“九”}


应该发生什么?

记录 0, []string{"一", "二", "三"}
记录 1, []string{"四", "五", "六"}
记录 2, []string{"七", "八", "九"}


请在下面提供任何附加信息。
FrozenDueToAge Unfortunate

最有用的评论

aarrggrggrgrgrg! 我敢肯定我只是在这里大喊大叫,但显而易见的解决方案是向读取器添加一个字段来表示预期的行结束类型,或者甚至添加一个选项来处理这两种情况。 这两种类型的 .csvs 已经存在了 10 多年。 有很多方法可以在不破坏向后兼容性的情况下解决这个问题

所有3条评论

此页面是否有帮助?
0 / 5 - 0 等级