我有一个大.csv
文件(大约 300 MB),它是从远程主机读取的,并解析为目标文件,但我不需要将所有行复制到目标文件中。复制时,我需要从源中读取每一行,如果它传递了一些谓词,则将该行添加到目标文件中。
我想 Apache CSV ( apache.commons.csv
) 只能解析整个文件
CSVFormat csvFileFormat = CSVFormat.EXCEL.withHeader();
CSVParser csvFileParser = new CSVParser("filePath", csvFileFormat);
List<CSVRecord> csvRecords = csvFileParser.getRecords();
所以我不能使用BufferedReader
. 根据我的代码,new CSVParser()
应该为每一行创建一个实例,这看起来效率低下。
在上述情况下,如何解析单行(具有已知表头)?