Монгоэкспорт - проблема с «\ n»

1

Я пытался экспортировать данные из Mongo в Oracle. Раньше я подходил.

Step 1 : Export the data to CS file usign mongoExport command. 
Step 2 : Read the data through a java code, do the necessary data transformation. 
Step 3 : Insert the data to Oracle 

Проблема заключается в том, что, когда в любом из разделов комментариев есть новый символ строки ('\n'), данные переходят к следующей строке, а java-чтение не обрабатывает документ.

Для этого есть открытая ошибка с 10gen, JIRA. Кто-то столкнулся с проблемой. Есть ли обходной путь для этого?

Теги:

2 ответа

0
Лучший ответ

Как и во многих нюансах форматирования в CSV, не существует согласованного "стандарта" для обработки встроенных символов новой строки в поле CSV.

Общей реализацией является RFC-4180: формат Common Format и MIME для файлов с разделителями-запятыми (CSV), который предлагает:

6) Fields containing line breaks (CRLF), double quotes, and commas
should be enclosed in double-quotes.

For example:

"aaa","b CRLF
bb","ccc" CRLF
zzz,yyy,xxx

Это формат, который в настоящее время использует mongoexport. Если вы используете синтаксический анализатор CSV, совместимый с RFC-4180 (например, SuperCSV, как предлагается @evanchooly), он должен обрабатывать цитированные новые строки, как ожидалось.

Если вам нужна альтернатива формату, используемому mongoexport или требуется больше гибкости в вашем выходе, вы всегда можете написать собственный сценарий экспорта.

0

Вы пытаетесь разобрать csv вручную? Если да, посмотрите http://opencsv.sourceforge.net/ или http://supercsv.sourceforge.net/ и посмотрите, помогают ли они.

  • 0
    Я полагаю, что проблема больше связана с командой MongoExport. Например, если ниже документ в mongo {"Name": "Srivatsa", "Comment": "Some comment / n. Test it"} Когда я его экспортирую, это грядет что-то вроде этого. Шриватса, SomeComment ----- здесь разрывы строк ---- новая строка начинается с «Test it». Это вызывает проблему

Ещё вопросы

Сообщество Overcoder
Наверх
Меню