如何使用带opencsv的过滤器,根据csv到csvtobean中的条件跳过一些行?

ktca8awb  于 2021-06-30  发布在  Java
关注(0)|答案(0)|浏览(262)

我的csv类文件

public class shop extends provider implements Serializable{

    @CsvBindByName(column = "transaction_id")
    private int txnId;

    @CsvBindByName(column = "ext_txn_id")
    private String extTxnId;

    @CsvBindByName(column = "user_id")
    private String userId;

    @CsvBindByName(column = "status")
    private String txnStatus;

    @CsvDate(value = "yyyy-MM-dd")
    @CsvBindByName(column = "date", required = true)
    private LocalDate txnDate;

    @CsvBindByName(column = "amount", required = true)
    private Double amount;

}

这就是我将csv加载到csvtobean的方式

CsvToBean<provider> csvToBeanShop = new CsvToBeanBuilder(csvReader).withType(shop.class)
            .withIgnoreLeadingWhiteSpace(true)
            .withSeparator(',')
            .withThrowExceptions(false)
            .build();

我的csv文件包含以下类型的数据:

transaction_id,ext_txn_id,user_id,status,date,amount
10240,80a2a33f-fbc8,Lewiss,shipped,2019-12-21,247.15
10246,dc30f0bf-5a70,Louisette,pending,2019-09-11,384.35

是否有必要使用一个过滤器,这样我就可以跳过文件中状态为not shipped的所有行?
目前,通过在解析时读取列表中的所有记录(我在解析时处理必填字段的异常),这种方法可以很好地工作。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题