Java 分析CSV文件时出错
我有一个包含90列的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{
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
非常有用,谢谢