Как преобразовать разделенную запятыми строку в CSV в муле? - PullRequest
0 голосов
/ 12 июня 2018

У меня есть требование, когда у меня есть динамическое строковое значение, разделенное запятыми, в переменной потока, которое мне нужно преобразовать в csv значения файла. Например,
, у меня может быть следующая запятая строказначения в переменной:

abc,efg,ijk

или

mno,123,qrs,w3e    

должны быть переданы в csv значения, такие как:

"abc","efg","ijk"    

или

"mno","123","qrs","w3e"     

Я попробовал следующее:

<set-variable variableName="stringValue" value="#['abc,efg,ijk']" doc:name="Variable"/>

  <dw:transform-message doc:name="Transform Message">
       <dw:set-payload><![CDATA[%dw 1.0
%output application/csv header=true, quoteValues=true, quoteHeader=true
---
flowVars.stringValue splitBy ","]]></dw:set-payload>
 </dw:transform-message>    

Итак, я ожидаю файл csv со значением:

 "abc","efg","ijk"    

Но это не такработает, получаю ошибку!

1 Ответ

0 голосов
/ 18 июня 2018

Возможно, вы уже решили это, но если нет - вы на самом деле очень близки.Преобразование в CSV ожидает двухмерный массив в качестве входных данных: массив строк для файла, где каждая строка представляет собой массив столбцов.

Например: [["line1, Col1", "line1, Col2"], ["line2, col1", "line2, col2"], ... ].

После splitBy в вашем примере у вас есть только один массив - ["abc","efg","ijk"], поэтому решение состоит в том, чтобы обернуть его в массив: [flowVars.stringValue splitBy ","].Это дает результат, который вы ищете.

...