0

如何使用 BeanParser 读取具有重复列名的 csv 文件。

下面是示例标题

Col desc, Col 数量, Col desc, Col 数量

测试,12.44,测试2,43.44

4

1 回答 1

0

您可以手动设置标题名称:

public class MyClass {

    @Parsed(field = "amount1")
    private BigDecimal amount1;

    @Parsed(field = "amount2")
    private BigDecimal amount2;

    @Parsed(field = "description1")
    private String description1;

    @Parsed(field = "description2")
    private BigDecimal description2;
}

然后:

CsvParserSettings parserSettings = new CsvParserSettings();
parserSettings.setHeaderExtractionEnabled(true); //to read your input headers with duplicates.
parserSettings.setHeaders("description1", "amount1, "description2", "amount2"); //to override the headers in the input with the names you want to work with

然后解析:

List<MyClass> myList = new CsvRoutines(parserSettings).parseAll(MyClass.class, <input>);

您也可以使用字段索引代替注解中的字段名称,因此您无需担心标题名称。

希望这可以帮助

于 2017-07-27T08:54:05.460 回答