我正在使用 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/