Univocity - разбирать один ряд на несколько бинов - PullRequest
1 голос
/ 30 мая 2019

Возможно ли разбить одну строку на несколько бинов на основе диапазонов индекса

Пример :

Строка: "field1", "field2", "field3", ....," field9 "

class ColumnsOneAndTwo {
   protected String field1;
   protected String field2;
}

class ColumnThreeAndNine {
   protected String field3;
   protected String field9;
}

class Row {

  @Parsed(indexes = 0, 1)
  protected ColumnOneAndTwo fields;

  @Parsed(indexes = 2, 8)
  protected ColumnThreeAndNine moreFields;

} 

BeanListProcessor<Row> rowProcessor = new BeanListProcessor<Row>(Row.class);

CsvRoutines routines = new CsvRoutines(parserSettings);

for (Row data : routines.iterate(Row.class, <file>, "UTF-8")) {  

}

1 Ответ

1 голос
/ 31 мая 2019

Вы ищете аннотацию @Nested.Просто используйте:

class ColumnsOneAndTwo {
    @Parsed(index=1)
    protected String field1;

    @Parsed(index=2)
    protected String field2;
}

class ColumnThreeAndNine {
    @Parsed(index=3)
    protected String field3;

    @Parsed(index=9)
    protected String field9;
}

class Row {

   @Nested
   protected ColumnOneAndTwo fields;

   @Nested
   protected ColumnThreeAndNine moreFields;

} 

Надеюсь, это поможет.

Отказ от ответственности: я являюсь автором этой библиотеки.Это с открытым исходным кодом и бесплатно (лицензия Apache 2.0)

...