Я пытаюсь использовать компонент DataWeave Mule для чтения файла CSV, который недопустим или, по крайней мере, не соответствует RFC 4180. Проблема в том, что есть некоторые значения, которые содержат кавычки, но поле не экранировано. Например,Игнорировать строки с кавычками или получить DataWeave для чтения недопустимого CSV
col1,col2,col3
one,two "two" two,three
one",two,three
Есть ли способ простой способ, чтобы немного ослабить правила в парсер CSV, который использует DataWeave так, что он будет относиться значение, которое не начинается с двойной кавычки как не маскирование стоимость? В качестве альтернативы, могу ли я (используя DataWeave или какое-то другое преобразование) игнорировать все строки текста, в которых есть цитата? Это меньше, чем доля одного процента строк, и эти строки случайно не имеют отношения к этой интеграции, но я не могу управлять генерацией CSV.
редактировать: Вот пример:
CSV
Column A,Column B,Column C,Column D
A,Something Weird",C,D
A,B,Something Else" Weird,D,
A,",S,o,m,e,t,h,i,n,g, ,N,o,r,m,a,l,",C,D
DataWeave
%dw 1.0
%input payload application/csv
%output application/json
---
payload
Выход
[
{
"Column A": "A",
"Column B": ",C,D\r\nA,B,Something Else",
"Column C": "D",
"Column D": ""
},
{
"Column A": "A",
"Column B": ",S,o,m,e,t,h,i,n,g, ,N,o,r,m,a,l,",
"Column C": "C",
"Column D": "D"
}
]
Как я могу это сделать? Для меня не очевидно, как удалить строки из InputStream. Какой трансформатор я использовал бы? Как и в, мне нужно сделать что-то вроде http://stackoverflow.com/questions/34076873, или есть встроенный трансформатор? –