Java 分析CSV文件时出错

Java 分析CSV文件时出错,java,csv,filereader,Java,Csv,Filereader,我有一个包含90列的CSV文件,我尝试用org.apache.commons.CSV.CSVRecord解析它 我完美地得到了前3列,但是当我想要得到第49列的内容时,它会返回错误 原因:java.lang.IllegalArgumentException:标头“column49”的索引为48,但CSVRecord只有43个值 我的代码的一部分是: protected List<T> readData(Reader reader) throws Exception{

我有一个包含90列的CSV文件,我尝试用
org.apache.commons.CSV.CSVRecord
解析它

我完美地得到了前3列,但是当我想要得到第49列的内容时,它会返回错误
原因:java.lang.IllegalArgumentException:标头“column49”的索引为48,但CSVRecord只有43个值

我的代码的一部分是:

protected List<T> readData(Reader reader) throws Exception{
        List<T> items= new ArrayList<T>();
        try{
            Iterable<CSVRecord> records = CSVFormat.APPLE.withDelimiter('|').withHeader(factory.header()).withFirstRecordAsHeader().parse(reader);
            for(CSVRecord record : records){
                patients.add(factory.instance(record));
            }
        } finally {
            reader.close();
        }
        return items;
受保护列表读取数据(读取器)引发异常{
列表项=新建ArrayList();
试一试{
Iterable records=CSVFormat.APPLE.withDelimiter(“|”).withHeader(factory.header()).withFirstRecordAsHeader().parse(reader);
用于(CSVRecord记录:记录){
添加(工厂实例(记录));
}
}最后{
reader.close();
}
退货项目;

我在互联网上搜索过这个问题,但解决方案不起作用。有人知道如何解决它吗?

我们可以看到CSV文件的一些示例行吗?您的CSV文件似乎很简洁,即如果所有剩余值都
null
,记录可能会提前结束。可以使用
isconstant
方法检查每个记录。Ne我不知道,也没有在文档中找到一种方法来可靠地分析这些文件。
isConsistent
非常有用,谢谢