Редактирование CSVRecord еще создание CSVRecord из карты <String, String> - PullRequest
0 голосов
/ 08 января 2019

Мой вариант использования - редактировать CSVRecord. Я читаю CSV-файл и мне нужно отредактировать только один столбец в записи на условной основе. Если условие удовлетворяет, тогда нужно отредактировать и распечатать в другой файл, иначе нужно распечатать как есть. Любая помощь в том, как этого добиться. Заранее спасибо.

Reader reader = Files.newBufferedReader(Paths.get(inputFilePath),  StandardCharsets.UTF_8);
            CSVFormat format =  CSVFormat.EXCEL.withFirstRecordAsHeader()
                    .withIgnoreHeaderCase().withDelimiter(SEPERATOR).withIgnoreSurroundingSpaces()
                    .withRecordSeparator(NEW_LINE_SEPARATOR)
                    .withTrim();
            CSVParser csvParser = new CSVParser(reader,format);

что-то вроде ниже

for (CSVRecord csvRecord : csvParser) { 

if (someCondition) {
replace "Status" in csvRecord from Not OK to OK
then csvPrinter.printRecord(csvRecord); 
  } else {
  csvPrinter.printRecord(csvRecord);
} }
...