当前位置:  开发笔记 > 程序员 > 正文

你能将CR/LF编码成CSV文件吗?

如何解决《你能将CR/LF编码成CSV文件吗?》经验,为你挑选了3个好方法。

以某种方式将CR/LF字符编码为CSV文件是否可能/合法?

(作为CSV标准的一部分?)

如果是这样我应该如何编码CR/LF?



1> Kent Boogaar..:

是的,你需要用引号括起来:

"some value
over two lines",some other value

从该文档中,这是普遍接受的CSV标准:

包含嵌入式换行符的字段必须用双引号括起来


不是普遍接受的格式RFC 4180吗?https://en.wikipedia.org/wiki/Comma-separated_values
@ jpmc26确实,我只是想鼓励OP将访问者发送到官方RFC,而不是声称这个其他网站是'普遍接受的CSV标准'
维基百科文章还说“ ...(但是,许多CSV实现不支持嵌入式换行符)。”

2> ShuggyCoUk..:

csv最常见的变种是excel兼容的,只要字段被双引号包围,就可以允许嵌入的换行符.

foo,bar,"blah blah
more blah blah",baz

要么

foo,bar,"blah blah
more blah blah"

要么

"blah blah
more blah blah",baz

都是有效的.此机制还允许嵌入逗号.

在没有嵌入新行(或逗号)的文本字段周围使用引号也很好.如果文本本身包含双引号,那么逃避它的机制就是将两个放在一起,例如.

foo,bar,"this person said ""blah blah 
more blah blah""",baz

编写正确处理此问题的csv阅读器可能会非常棘手(特别是如果您依赖正则表达式).



3> 小智..:

这里提到了CSV的标准.我有兴趣了解更多相关信息 - 我所知道的唯一标准是

无论excel接受什么

RFC,网址为www.rfc-editor.org/rfc/rfc4180.txt


RFC是在2005年创建的!Excel已经支持CsV相当长的时间......
推荐阅读
郑小蒜9299_941611_G
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有