忽略列数少于csv中的标题数的行 - SuperCSV

时间:2016-01-24 16:57:09

标签: java parsing csv opencsv supercsv

我正在使用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读取器将抛出异常。请帮帮我。

0 个答案:

没有答案