我正在使用SuperCSV将CSV记录解析为JavaBean。我的CSV文件有10列,开头有标题行。这些文件最多可以有10k的记录。我想处理具有相同列数的记录的记录。假设一条记录只有9列,我想跳过解析该行并读取下一行。
我为所有10列和相同大小的CellProcessor []定义String []映射。我正在使用icsvBeanReader进行处理。请为此提出解决方案。
示例csv文件:
header1,header2,header3,header4,header5,header6,header7,header8,heade9,head10
v1,v2,v3,v4,v5,v6,v7,v8,v9,v10-->row1
v1,v2,v3,v4,v5,v6,v7,v8,v9,v10-->row2
v1,v2,v3,v4,v5,v6,v7,v8,v9-->row3
v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11-->row4
v1,v2,v3,v4,v5,v6,v7,v8,v9,v10-->row5
v1,v2,v3,v4,v5,v6,v7,v8,v9,v10-->row6
如果上面的文件是我的示例输入csv。我只想处理row1,row2,row5和row6,因为row3,row4中的列数与标题大小不匹配..
我不想使用CsvList阅读器,因为通过out文件我的记录是固定的,我使用自定义单元处理器来处理每个colomn上的验证。如果连续缺少数据,我想跳过并继续处理其他记录/行。截至目前,如果列号与名称映射不匹配,IcsvBean读取器将抛出异常。请帮帮我。