2012-07-23 56 views
1

如果一端的分隔符的每个条目(在这种情况下 ''):.csv条目应以分隔符结尾吗?

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

与否:在.csv

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

或者这只是不同的方言?

回答

5

并非如此according to RFC4180其中一个CSV记录(行)被定义为

record = field *(COMMA field) 

这并不意味着你永远不会遇到与后面的逗号的形式,为CSV是臭名昭著的变化和偏差,有时候是草率的实现。

+0

+1。 CSV的RFC?从来不知道! – 2012-07-23 09:01:21

1

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

0

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

0

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

2

这取决于你。通常我会预计而不是。为什么?因为当你上

A,B,C,D 

执行split()(或类似)的操作我期望与4种元素(A-d)来结束。如果我做了同样的:

A,B,C,D, 

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