小编Ale*_*lov的帖子

如何通过CSVParser处理大文件?

我有一个大.csv文件(大约300 MB),从远程主机读取,并解析为目标文件,但我不需要将所有行复制到目标文件.在复制时,我需要从源读取每一行,如果它传递了一些谓词,则将该行添加到目标文件中.

我想Apache CSV(apache.commons.csv)只能解析整个文件

CSVFormat csvFileFormat = CSVFormat.EXCEL.withHeader();
CSVParser csvFileParser = new CSVParser("filePath", csvFileFormat);
List<CSVRecord> csvRecords = csvFileParser.getRecords();
Run Code Online (Sandbox Code Playgroud)

所以我不能用BufferedReader.根据我的代码,new CSVParser()应该为每一行创建一个实例,这看起来效率很低.

如何在上面的情况下解析单行(具有表的已知标题)?

java csv filtering large-files apache-commons-csv

10
推荐指数
2
解决办法
6455
查看次数

标签 统计

apache-commons-csv ×1

csv ×1

filtering ×1

java ×1

large-files ×1