Как удалить \ r \ n разрывы строк в текстовом файле, которые находятся в кавычках, а не в конце строки - PullRequest
0 голосов
/ 03 июня 2019

У меня есть большой набор файлов, которые содержат разрывы строк в столбце, все они заключены в кавычки, но U-SQL не может обработать файлы, потому что он видит \r\n как конец строки, несмотря на то, что он заключен в котировки.

Есть ли простой способ исправить эти файлы, кроме открытия каждого файла по отдельности в чем-то вроде блокнота ++? Кажется, должен быть способ игнорировать разрывы строк, если они содержатся в кавычках.

Пример примерно такой:
1,200,400,"123 street","123 street,\r\nNew York, NY\r\nUnited States",\N,\N,200\r\n

Notepad ++ отлично работает для поиска и замены значений вручную, но я пытаюсь найти пакетный способ сделать это, потому что у меня есть несколько файлов (50+ на исходную таблицу) и сотни тысяч записей в каждом, что мне нужно исправить.

1 Ответ

0 голосов
/ 03 июня 2019

Согласно U-SQL GitHub, выпуск 84: USQL и встроенные символы новой строки , вы можете либо создать пользовательский экстрактор, либо попробовать использовать параметр escapeCharacter встроенного экстрактора:

USING Extractors.Csv(quoting : true, escapeCharacter : '\\') // quoting is true by default, but it does not hurt to repeat.

...