生成CSV文件时如何处理分号?

How to handle semicolons when generating a CSV file?

我正在使用 NPM 模块 json-csv 从对象数组生成 CSV 文件。但是,某些字段可能包含分号 (;),显然 CSV 在分号处被拆分,尽管这个字段被引用了。谁能就如何解决此问题提出任何建议?

我用于选项的代码如下:

var options = {
  fields: [
    {
      name : 'paragraphId',
      label : 'ParagraphID'
    },
    {
      name : 'paragraph',
      label : 'Paragraph',
      quoted : true
    }
  ]
};

根据 CSV 规范,您 可以 中使用分隔符,只要您用双引号将这些值括起来。来自 CSV specification:

Fields with embedded commas must be delimited with double-quote characters.

并且:

Fields may always be delimited with double quotes. The delimiters will always be discarded.

在使用 json-csv 库导出数据时触发此行为的选项在给定字段的选项中 quoted: true - 我看到你已经包含了它,所以你很好.

此外 - 值得注意的是,这个库默认使用逗号 (,) 作为分隔符,而不是分号 (;)。要使用不同的分隔符,请正确更改您的选项:

var options = {
  fields: [
    {
      name: 'paragraphId',
      label: 'ParagraphID'
    },
    {
      name: 'paragraph',
      label: 'Paragraph',
      quoted: true
  }],
  fieldSeparator: ';' // the important part!
};