2017-03-23 52 views
0

CSV輸出從java Data Map產生, 輸出響應將「\」添加到值中的每個「,」。 所有映射值都加在雙引號內,例如:map.put('key',「key-Value」);從dataweave中爲csv輸出Escape「」反斜槓Mule

收到響應

頭1,頭2

1234,ABC \,文本

7890,XYZ \,文本

預期的響應

頭1 ,Header2

1234,ABC,文本

7890,XYZ,文本

頭2應包含 「ABC,文本」 爲值沒有引號 「」

使用%輸出應用/ CSV逃逸試過= 「」,但是這增加了額外的空間值,即如果值爲「ABC XYZ」,則輸出爲「ABC XYZ」(兩個之間的空格)

任何建議將有所幫助...

回答

1

逗號分隔值文件中的數據中嵌入的逗號必須被轉義,或者無法區分字段分隔符以外的值。如果您想以某種方式在您的CSV文件中使用逗號而不逃脫它們,那麼您需要使用除逗號之外的分隔符。

預期如圖所示將是無效的,因爲你有兩個字段標題,但是這將被解釋爲具有3個字段,而不是2場,數據線一個帶有嵌入逗號這就是對數據的反應已經和顯示在響應收到表。

+0

using separator =「special_character」like「?」,「|」等等......然後用「,」代替它似乎是獲得理想結果的方法...... –

+0

如果目標應用程序能夠處理它,使用逗號以外的內容作爲它也是完全合法的CSV文件中的分隔符。許多商業軟件包(如Excel)都可以將Tabs作爲字段分隔符來處理。許多定製軟件包不能。如果嵌入的逗號對數據不是必需的,那麼可以簡單地將DW移除它們,或者將其替換爲另一個字符,例如不會被視爲分隔符的短劃線。 – dlb