Я иду к вам, потому что у меня проблема с чтением CSV и созданием карты с Джексоном. Чтобы прочитать файл и связать его с картой, я использую следующий код:
private static <T, R extends IndexedData<T>> List<R> readFile(File csvFile, Class<R> cls) throws Exception {
CsvMapper csvMapper = new CsvMapper();
CsvSchema csvSchema = csvMapper.typedSchemaFor(cls).withHeader().withStrictHeaders(true);
List list = csvMapper.readerFor(cls)
.with(csvSchema.withColumnSeparator(';'))
.with(CsvParser.Feature.SKIP_EMPTY_LINES)
.readValues(csvFile)
.readAll();
return list;
}
однако как отфильтровать данные по значению атрибута?
Например, у меня есть идентификатор в одном столбце, и я хочу прочитать и сохранить строку на карте, только если это значение равно "038"
Используемый код читает весь файл и создает HashMap со всеми значениями, но я хотел бы добавить на карту только определенные значения с определенными критериями.
Зная, что файлы имеют значительный объем, я не могу прочитать все значения и отфильтровать карту позже.
Любая помощь будет приветствоваться:)
1012 * приветливо *