我正在尝试使用具有readMap()
函数的opencsv 4.4版本读取csv文件,并出现以下错误:
java.io.IOException:记录编号2出错:数据元素的数量与标头元素的数量不同。
我的csv解析器是这样配置的:
private CSVReaderHeaderAware getReader(Path csvPath) throws FileNotFoundException {
return (CSVReaderHeaderAware) new CSVReaderHeaderAwareBuilder(
new FileReader(Paths.get(csvPath.getParent().toString(), csvPath.getFileName().toString()).toString()))
.withCSVParser(new CSVParserBuilder().withSeparator(getDataSourceProperties().getDataSeparator().charAt(0))
.withFieldAsNull(CSVReaderNullFieldIndicator.BOTH).build())
.build();
}
文件的空列具有完整的标头(尝试较小的文件的空列似乎没有原因)。文件包含3351条记录。