是否有任何官方方法允许CSV格式的文件允许注释,无论是在它自己的行上还是在一行的末尾?

我试着在维基百科上查过这个,也查过RFC 4180,但两者都没有提到任何东西,这让我相信它不是文件格式的一部分,所以这对我来说是坏运气,我应该用一个单独的ReadMe.txt文件来解释这个文件。

最后,我知道添加我自己的注释对我来说很容易,但我希望像Excel这样的东西可以直接导入它,而不需要消费者必须自定义导入过程。

所以,想法?


当前回答

CSV“标准”(就像它一样)并没有规定应该如何处理注释,不,它取决于应用程序建立一个惯例并坚持它。

其他回答

如果您在批处理文件中使用FOR命令解析文件,则分号可以工作(;)

REM test.bat contents

for /F "tokens=1-3 delims=," %%a in (test.csv) do @Echo %%a, %%b, %%c

;test.csv contents (this line is a comment)

;1,ignore this line,no it shouldn't

2,parse this line,yes it should!

;3,ignore this line,no it shouldn't

4,parse this line,yes it should!

输出:

2, parse this line, yes it should!

4, parse this line, yes it should!

CSV“标准”(就像它一样)并没有规定应该如何处理注释,不,它取决于应用程序建立一个惯例并坚持它。

在工程数据中,通常会在第一列中看到#符号,用于表示注释。

我使用ostermiller CSV解析库来读取和处理这些文件。该库允许您设置注释字符。在解析操作之后,您将得到一个仅包含真实数据的数组,没有注释。

CSV不是为包含注释而设计的。我经常在EXCEL中单独列注释。当从我的嵌入式程序中转储数据时,当我(例如)确实需要两个数据列时,通过添加额外的逗号,我创建了一个额外的(第三)列,就像这样:

27,120,,
28,112,,
29,208,This is my comment,
30,85,,

逗号分隔文件实际上只是一个文本文件,其中行由逗号分隔的值组成。

没有标准来定义CSV文件的内容,因此也没有明确的方法来指示注释。这取决于将要导入CSV文件的程序。

当然,这通常是Excel。你应该问问自己Excel是如何定义注释的?换句话说,什么会使Excel忽略CSV文件中的一行(或一行的一部分)?我不知道有什么能做到这一点。