CSV文件中空行的含义

时间:2012-10-05 16:14:15

标签: csv

起初这似乎很明显,但现在我不太确定。

如果CSV文件包含以下行:

a,

我会将其解释为具有值“a”和“”的两个字段。但是后来看一个空行,我可以轻易地说它表示一个字段的值为“”。

我接受文件末尾的空行应该被解释为文件的结尾(没有字段)。但有没有人知道文件中的空行应该是什么意思?

3 个答案:

答案 0 :(得分:6)

请注意,空行可能是多行引用字段的一部分:

1,2,"this
is
field number

3",4,5

是有效的CSV。

在我看过的大多数CSV文件中,每行的字段数是常数(虽然不一定如此),所以除非CSV文件只有一列,否则我会期望空行(在引用字段)是一个错误。

我刚检查过:Python的CSV解析器忽略了空行。我猜这是合理的。

答案 1 :(得分:6)

看看Excel在读取CSV文件时如何处理空行,我可以看到Excel 忽略它们。

不幸的是,没有办法判断空行是否被视为空字段或根本没有字段,因为Excel总是具有相同的列数。

我看到了CSV格式的一些专有用途,其中可以选择如何处理空白行。最后,这是我采取的方法。我的CSV阅读器类有四个如何处理空行的选项:

  1. 忽略并跳过它们
  2. 将它们视为具有零字段的行
  3. 将它们视为具有一个空字段的行
  4. 将它们视为输入文件的结尾
  5. 如果有人感兴趣,我将发布新的源代码以替换Reading and Writing CSV Files in C#处的现有文章。

答案 2 :(得分:2)

根据我的理解和经验,它代表缺失的记录,应该被忽略。不要将其视为EOF。