Как проанализировать двойную кавычку в начале поля в CSV, используя jackson-dataformat-csv CsvMapperJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Гость
 Как проанализировать двойную кавычку в начале поля в CSV, используя jackson-dataformat-csv CsvMapper

Сообщение Гость »

Я хотел бы проанализировать следующий файл csv:

Код: Выделить всё

Name;Quantity
"foo;bar";1
"foo"bar;2
Ожидаемый результат:

Код: Выделить всё

[[foo;bar , 1] , ["foo"bar , 2]]
На данный момент мой код следующий:

Код: Выделить всё

CsvMapper mapper = new CsvMapper();
CsvSchema schema = mapper.schemaFor(List.class).withColumnSeparator(';');
MappingIterator it = mapper.readerForListOf(String.class)
.with(schema)
.with(CsvParser.Feature.WRAP_AS_ARRAY)
.readValues(textInput);
Проблема в том, что Джексон выдает ошибку из-за того, что первое поле второй строки начинается с кавычки, но не заканчивается единицей (

Код: Выделить всё

com.fasterxml.jackson.databind.JsonMappingException: Unexpected character ('b') Expected column separator character (';' (code 59)) or end-of-line at [...]
).
Если кавычки начинаются с середины поля, проблем нет.
Я могу решить проблема для второй строки, изменив CsvSchema на:

Код: Выделить всё

CsvSchema schema = mapper.schemaFor(List.class).withColumnSeparator(separator).withoutQuoteChar();
но в этом случае первая строка анализируется неправильно, поскольку определяется, что она имеет 3 столбца.
Есть ли способ проанализировать CSV файлы, содержащие поля, начинающиеся с кавычек и с полями, заключенными в кавычки?

Подробнее здесь: https://stackoverflow.com/questions/781 ... aformat-cs
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Получите заголовок CSV, используя jackson-dataformat-csv
    Гость » » в форуме JAVA
    0 Ответы
    25 Просмотры
    Последнее сообщение Гость
  • Использование jackson-dataformat-xml на Android
    Гость » » в форуме Android
    0 Ответы
    21 Просмотры
    Последнее сообщение Гость
  • Регулярное выражение | PHP фиксирует каждую недопустимую двойную кавычку в строке json
    Гость » » в форуме Php
    0 Ответы
    41 Просмотры
    Последнее сообщение Гость
  • Как вставить двойную кавычку (") в поле Varchar базы данных SQLite?
    Anonymous » » в форуме Android
    0 Ответы
    48 Просмотры
    Последнее сообщение Anonymous
  • Как передать пробел и двойную кавычку вместе в параметрах командной строки MSI?
    Anonymous » » в форуме C#
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous

Вернуться в «JAVA»