Парсинг CSV, который содержит JSON - PullRequest
0 голосов
/ 22 мая 2019

У меня довольно маленький CSV (120 МБ).

Один из столбцов содержит строки json, которые выглядят следующим образом.

{"A":"Dart","B":"en","C":"[gb]","D":"4,5,7","E":"2019-03-07"}

Мне нужнопарсит этот json из csv и преобразует его во фрейм данных или другой csv, который будет содержать столбцы A / B / C / D / E и соответствующие значения в строках.

Я пытался проанализировать его с помощью pythonи панды, использующие разные библиотеки, но без какой-либо удачи, данные всегда кажутся поврежденными.

Я просмотрел текстовое представление моего csv и обнаружил, что необработанные данные выглядят так, и парсеры не могутпо какой-то причине пережевывать.

"{""A"":""Dart"",""B"":""en"",""C"":""[gb]"",""D"":""4,5,7"",""E"":""2019-03-07""}"

1 Ответ

0 голосов
/ 22 мая 2019

если вы поделитесь исходным файлом, вам может быть проще помочь.
Это стандартный способ ввода двойных кавычек в CSV.

Я вставляю пример того, как получить желаемый результат.Я использую Миллера (http://johnkerl.org/miller/doc/).

Используя

echo '"{""A"":""Dart"",""B"":""en"",""C"":""[gb]"",""D"":""4,5,7"",""E"":""2019-03-07""}"' | \
mlr --c2n --implicit-csv-header cat | \
mlr --j2c cat

У вас будет

A,B,C,D,E
Dart,en,[gb],"4,5,7",2019-03-07
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...