如何解决Salesforce Bulk API导出CSV含转义双引号的解析问题
问题:Salesforce Bulk API导出CSV经DW2.0处理后字段内容丢失、列错位
原始输入(Salesforce Bulk API导出的CSV)
"RecordTypeId","Name","Description" "AAA","Talent 2022 - Skills Renewal - ABC","DF - 14/03 - Monty affirmed that the ""mastercard approach"" would best fit in this situation. I will connect (abc, def, ghi) and the confirm booking tomorrow (15/03)"
所用DW2.0处理脚本
%dw 2.0 output application/csv separator=",", ignoreEmptyLine=false, quoteValues=true, quoteHeader=true, lineSeparator=" " --- payload
错误输出
"RecordTypeId","Name","Description" "AAA","Talent 2022 - Skills Renewal - ABC","DF - 14/03 - Monty affirmed that the , def, ghi) and the confirm booking tomorrow (15/03)"
问题原因
Salesforce Bulk API导出CSV时,字段内的双引号采用双引号转义(如""mastercard approach""表示字段内的"mastercard approach"),但默认的DW2.0 CSV解析器未启用该转义规则,导致解析时误将字段内的""识别为字段结束标记,提前截断Description字段,进而把后续内容错误拆分到其他列。
解决方案
修改DW2.0脚本,明确指定CSV输入的解析规则,启用双引号转义识别:
%dw 2.0 input application/csv quoteEscape='"' output application/csv separator=",", ignoreEmptyLine=false, quoteValues=true, quoteHeader=true, lineSeparator=" " --- payload
添加input application/csv quoteEscape='"'后,DW2.0会正确识别字段内的""为单个双引号,完整保留Description字段的内容,避免列错位和内容丢失。
内容的提问来源于stack exchange,提问作者Rahul Singh
相关产品推荐
相关产品推荐

