2016-12-29 108 views
0

我在写一个CSV解析器,我希望它符合this标准。它指出:关于行尾的CSV标准

  1. 每条记录​​都位于一个单独的行,由换行符(CRLF)

我应该如何处理行仅LF性格CR结束界定?我是否应该把它们当作文字并传递给现场,将其解释为行结束。或者,也许配音文件格式不正确?

我想,大多数灵活的解决方案将接受任何类型的行结束,但我想弄清楚什么标准说。

您对此有何看法?

+1

http://stackoverflow.com/q/1552749/5505232看起来这个帖子它可能会帮助你 –

回答

0

您当然不应该将它们视为格式错误,因为例如在Linux,Windows和Mac上可能会有不同的行尾。

最好全部支持他们。

此外,如果字段被正确引用,那么字段中也可以有换行符。所以你也需要检查一下。

例如:

123,"test on 2 
lines",456 

是一个有效的CSV行。

+0

当然,我接受这些类型的领域。那么这个RFC标准中的'CRLF'应该被读为'CR'还是'LF'或'CRLF'? – PKua

+1

@PKua csv或tsv没有真正的标准,只有这个RFC。但是,是的,最好支持三种:'CRLF','CR'和'LF'。文件也可能使用'CRLF'作为记录结尾,但在多行字段中只使用'LF'(或'CR')。 –

+0

好点。所以我想我会去换行的行分隔符并在引用的字段中获取不变的CR | LF字符序列。谢谢。 – PKua