2015-05-01 51 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! 
};