1

使用 SSDT,我可以指定单个字段是否是文本限定的。这对于我正在解析的 CSV 很有用,其中只有一个字段是文本限定的(我不能轻易要求导出所有字段都是文本限定的)。

使用 CSV 解析库adaltas/node-csv-parse,我看到您可以指定一个文本限定符(即quote参数),但这似乎适用于所有字段或没有字段。

是否可以指定某些字段是文本限定的(即"qualified"某些字段不是文本限定的(即not qualified)?那么,既然这似乎是一个很好的地方问它,是否可以为不同的字段指定不同的限定符?解析CSV?

我不认为CSV 规范对此有什么要说的,但不应该所有字段或没有字段都是文本限定的吗?

4

1 回答 1

1

在 csv 中,引号用于包含分隔符的字段(或多行字段中的另一个引号或换行符):

123,"some, text",456

转义引号:

123,"24"" monitor, Samsung",456

多行字段:

123,"some text on
multiple lines",456

这实际上是 csv 中引号的唯一目的(Excel 的一些特殊情况除外)。

它们不必用于其他数据:

123,"some, text",456
234,some text,567

使用引号并不意味着应将字段视为文本与数字。这取决于应用程序:

123,"some, text","456,2"
"234,41",some text,"5,67"

因此,一般来说,csv 编写器应该只在需要的地方放置引号(所有其他引号只占用额外的空间和解析时间)。

于 2018-08-06T14:25:46.010 回答