Я анализирую 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?