node.js - 生成CSV文件时如何处理分号?

标签 node.js csv npm

我正在使用 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!
};

关于node.js - 生成CSV文件时如何处理分号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29988036/

相关文章:

r - 保存到 CSV 时日期信息消失

javascript - Node.js 快速验证器 ERR_EMPTY_RESPONSE

javascript - 是否可以通过 URL 从 NPM 下载并安装 JS 文件(不是 NPM 包)?

javascript - Restify 和 Angular JS 都位于不同的域中,如何使用 Restify 响应设置 httponly cookie?

java - 使用java将文本格式应用于CSV文件

android - 将一个组件替换为另一个组件,构建失败并出现错误 "Could not resolve project <old component name>"

Node.js Stream API 泄​​漏

python - 在 pandas 中合并表时添加默认值

json - package.json 的贡献者不会出现在 npm 网站上

azure - 将私有(private) `.npmrc` 文件放入 Azure 后无法安装 npm 包