.csv条目应该以分隔符结束吗?

时间:2012-07-23 08:56:04

标签: csv

如果每个条目都有一个分隔符(在本例中为','):

axis1,axis2,axis3,
    1,    2,    3,
    2,    3,    4,

与否:

axis1,axis2,axis3
    1,    2,    3
    2,    3,    4
<。>在.csv中,还是只是不同的方言?

5 个答案:

答案 0 :(得分:5)

不是according to RFC4180,其中csv记录(行)定义为

record = field *(COMMA field)

这并不意味着你永远不会遇到带有尾随逗号的表单,因为csv因其变化和偏差而臭名昭着,有时甚至是草率的实现。

答案 1 :(得分:2)

这取决于你。通常我会指望。为什么?因为当您在

上执行split()(或类似)操作时
A,B,C,D

我希望最终得到4个元素(A-D)。如果我做了同样的事情:

A,B,C,D,

由于最终的逗号,我通常希望大多数实现/语言给我一个零长度的最终元素。然后你必须处理这个(忽略它,扔掉它等)。

答案 2 :(得分:1)

不,行末尾不应有列分隔符。如果有,这意味着还有另一个空列。

答案 3 :(得分:0)

第二个是要走的路。在行尾没有分隔符。

答案 4 :(得分:0)

第二个选项是最好的,否则你的解析会假设每行末尾有一个空白记录。分隔符应该只在记录之间“划定”它们。