2015-05-01 49 views
3

我正在使用npm模块json-csv从一个对象数组中生成一个csv文件。但是,有些字段可能包含分号(;),显然csv会以分号分割,尽管引用了该字段。任何人都可以就如何解决这个问题提出任何建议?如何在生成csv文件时处理分号?

我使用的选项的代码如下:

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

感谢,

伊娃

回答

2

据CSV规范,你可以分隔符,如只要用双引号括住这些值即可。从CSV specification

带嵌入式逗号的字段必须用双引号字符分隔。

和:

字段可能总是用双引号分隔。 定界符将始终被丢弃。

选项来触发使用json-csv库导出数据时,这种行为是在某一领域中的选项quoted: true - 我看你已经包括了,所以你是好。

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

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