перевод строки в столбце в csv - PullRequest
0 голосов
/ 02 апреля 2020

У меня есть CSV, как показано ниже. некоторые столбцы имеют разрыв строки, как столбец B ниже. когда я делаю w c -l file.csv unix возвращает 4, но на самом деле это 3 записи. Я не хочу заменять разрыв строки пробелом, я собираюсь загрузить данные в базу данных с помощью загрузчика sql и хочу загрузить данные как есть. что я должен сделать, чтобы unix рассматривал разрыв строки как одну запись?

A,B,C,D
1,"hello
world",sds,sds
2,sdsd,sdds,sdds

1 Ответ

0 голосов
/ 02 апреля 2020

Если вы не имеете дело с тривиальными случаями (без полей в кавычках, без встроенных запятых, без встроенных символов новой строки и т. Д. c.), Данные CSV лучше всего обрабатывать с помощью инструментов, которые понимают формат. В таких языках, как perl и python, доступны библиотеки синтаксического анализа CSV, существуют пакеты, такие как csvkit , которые предоставляют полезные утилиты и т. Д.

Использование csvstat из csvkit на вашем примере:

$ csvstat -H --count foo.csv
Row count: 3
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...