是等号的CSV有效吗?

Rol*_*and 5 csv excel excel-formula

我刚刚得到一个要处理的CSV输入文件,它在第一个分隔引号之前有一个等号,并想知道这是否有效并且有任何用途.示例(简化):

"2"
"3"
="4"
Run Code Online (Sandbox Code Playgroud)

在阅读了一些像这样的帖子后,我尝试了这样的CSV:

"2"
"3"
="A1+A2"
Run Code Online (Sandbox Code Playgroud)

和:

"2"
"3"
"=A1+A2"
Run Code Online (Sandbox Code Playgroud)

似乎Excel和LibreOffice默默地忽略引号之前的等号,并且很好地将引号后面的等号视为公式的标志.但是,我找不到任何关于此的文档.

(对于Excel,此CSV需要使用.txt扩展名保存,并使用control-O打开)

我倾向于在打开引号之前使用等号来调用CSV作为在阅读此文件时易于处理的错误,但仍然想知道是否还有更多关于此的说法.

Dan*_*_ds 9

Excel使用它来避免丢失前导零.

例如,如果csv文件中有一个字段,如下所示:0123456Excel会将其视为一个数字并丢失前导零.

保存它可以="0123456"解决这个问题.

使用"0123456"也无济于事,因为引号不是指示文本字段,而是为了逃避字段内的可能分隔符.

就像sep=;在第一行使Excel使用正确的分隔符一样,=""它也是"非标准"或更好:特定于Excel,因为csv文件没有真正的标准.


Joh*_*man 6

Excel 不会忽略=in="4"="A1 + A2",而是将其视为常量公式。

如果您打开如下所示的 csv 文件:

"2"
"3"
="4"
="A1+A2"
"=A1+A2"
Run Code Online (Sandbox Code Playgroud)

在 Excel 中,结果如下所示:

在此处输入图片说明

注意A3公式="4"是如何成立的,而不仅仅是数字 4。


raj*_*ah9 5

CSV 没有官方标准。正如它所说的逗号分隔值

CSV 文件格式的官方标准不存在,但 RFC 4180为其许多方面提供了事实上的标准。

查看RFC 4180,一个字段要么是转义的,要么是非转义的。转义字段具有如下定义的 BNF:

escaped = DQUOTE *(TEXTDATA / COMMA / CR / LF / 2DQUOTE) DQUOTE
Run Code Online (Sandbox Code Playgroud)

由于等号不是转义字符的一部分,它可能就像大富翁中的“免费停车”:规则对此没有说明,但事实上的标准是在其下放置 500 美元。