【发布时间】:2017-09-14 21:59:25
【问题描述】:
想确认一些与 csv 格式相关的内容。我正在将文件加载到数据库中并使用双引号括起来,因为在我的 csv 中可能会发生某些字段包含双引号之间的值 - 这是正常的。但是,有时我会得到一些文件,其中分隔符和双引号之间的情况是由例如空格引起的,这对我的将其视为值的代码造成了问题,例如:
1, "value1",something
在这种情况下,第二个位置的值将被插入到数据库中:
spacespace"value1"
提供 csv 的客户声称这是正常的,我的代码应该将 value1 作为值放入数据库。但是,据我了解,这是不正确的,因为在这种情况下,空间属于价值,因此被包围并不能正常工作。我对此是否正确,在这个特殊案例中我可以参考什么文件来向客户解释他所说的不是真的,在这种情况下他应该避免空格,否则它将属于价值。谢谢。
【问题讨论】:
-
@melpomene 首先我写的对吗?在此链接中找不到任何相关信息 - 您提到了什么句子?
-
“将记录划分为由分隔符分隔的字段(通常为单个保留字符,例如逗号、分号或制表符;有时分隔符可能包含可选空格)”。 ..“没有其他信息(例如是否遵守 RFC 4180),声称只是“CSV”格式的文件没有完全指定”...“在某些 CSV 实现中,前导和尾随空格和制表符被修剪(忽略)。RFC 4180 禁止此类修剪,其中指出“空格被视为字段的一部分,不应被忽略。”
-
@melpomene 的意思是我写的内容是正确的:“空格被认为是字段的一部分,不应被忽略。”但是,当我将其展示给客户时,他可以说-您知道,但是有“应该”一词,因此没有义务...
标签: csv