Несколько видов экранирующих символов в Apache Commons CSV - PullRequest
0 голосов
/ 13 февраля 2020

Я анализирую CSV-файлы с помощью Apache Commons CSV, но я обнаружил, что escape-символы различны для каждого CSV-файла. Когда в значении появляются двойные кавычки, некоторые файлы используют двойные кавычки в качестве escape-символа ("fo""o""bar"), в то время как другие используют backsla sh ("fo\"o\"bar").

В настоящее время мой Apache Commons CSV настройка ниже. Это может проанализировать "" escape, но поднять java.io.IOException в \" escape.

BufferedReader reader = new BufferedReader(new FileReader("/path/to/input/file.csv"));
CSVParser parser = CSVFormat.EXCEL
    .withIgnoreEmptyLines(true)
    .withFirstRecordAsHeader()
    .withIgnoreSurroundingSpaces(true)
    .parse(reader);

Я думаю, что могу добавить withEscape('\\'), но не очень хорошо разбираюсь в спецификации withEscape, даже после прочтения документа . Можем ли мы обрабатывать несколько видов escape-символов в одном параметре, и ожидается ли использование Apache Commons CSV?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...