我正在读取一个CSV文件并使用OpenCSV读取它,并使用CircularFifoBuffer将数据拆分为列并将每列的值分配给字符串。 这对于读取 csv 文件中的特定行效果很好,但是我希望从开头开始逐行读取 csv 文件,向下到最后一行。
然后,每次读取一行时,将比较字符串值,如果满足给定条件,则将读取下一行。
我可以逐行处理CSV数据的所有上述栏。
任何指示将不胜感激。
直接来自常见问题解答:
如果要使用迭代器样式模式,可以执行以下操作:
CSVReader reader = new CSVReader(new FileReader("yourfile.csv"));
String [] nextLine;
while ((nextLine = reader.readNext()) != null) {
// nextLine[] is an array of values from the line
System.out.println(nextLine[0] + nextLine[1] + "etc...");
}
或者,如果您只是想将整个批次放入列表中,只需调用 readAll()...
CSVReader reader = new CSVReader(new FileReader("yourfile.csv"));
List myEntries = reader.readAll();
这将为您提供一个可以迭代的字符串 [] 列表。如果所有其他方法都失败了,请查看Javadoc。