У меня есть CSV без разделителя строк. Как я могу эффективно добавить один? - PullRequest
0 голосов
/ 25 января 2020

У меня есть файл CSV (4,7 миллиона символов), который я пытаюсь импортировать в электронную таблицу. Кажется, что разделитель строк - это просто пробел ... и все же есть пробелы после каждой запятой. Что я могу сделать, чтобы правильно организовать эти данные в электронной таблице?

Я пытался использовать импорт листов Google и Microsoft Excel.

Пример текущего CSV

73, 5 / 11/2018, Vet Check, Результат: Multiple беременных,, 73, 5/19/2018, Move to String / Pen, Move To: 16,, 73, 5/22/2018, Mastitis, Treat. Наименование: Спектрамаст, Лечить. Тип: Intramammary, Комментарии: 4 раза, Перейти к: 1673, 5/25/2018, Перейти к строке / ручке, Перейти к: 10, 73, 5/28/2018, Перейти к строке / ручке, Перейти к: 11 ,, 73, 7/20/2018, Vet Check, Результат: OK - Подтверждено PG,,

Где должны быть разрывы строк.

73, 5/11/2018, Vet Check, Результат: множественная беременность,,

73, 5/19/2018, перемещение в строку / ручку, перемещение в: 16,,

73, 5/22/2018, мастит, лечение. Наименование: Спектрамаст, Лечить. Тип: Intramammary, Комментарии: 4 раза, Перейти к: 16

73, 5/25/2018, Перейти к строке / ручке, Перейти к: 10,,

73, 5/28 / 2018, Переместить в строку / ручку, Переместить в: 11,,

73, 7/20/2018, Vet Check, Результат: OK - Подтверждено PG,,

1 Ответ

1 голос
/ 26 января 2020

Кажется, что вы можете применить этот тип регулярных выражений https://regex101.com/r/HU13Um/2

Затем, используя sed и tail, если вы запустите

<input sed -r 's/([0-9]{2}, *[0-9]+\/)/\n\1/g' | tail -n +2 >output

, у вас будет

73, 5/11/2018,Vet Check,Result:Pregnant Multiple, , 
73, 5/19/2018,Move To String/Pen,Move To:16, , 
73, 5/22/2018,Mastitis,Treat. Name:Spectramast, Treat. Type:Intramammary, Comments:4 Times, Move To:16
73, 5/25/2018,Move To String/Pen,Move To:10, , 
73, 5/28/2018,Move To String/Pen,Move To:11, , 
73, 7/20/2018,Vet Check,Result:OK - Confirmed PG, ,
...