【问题标题】:Reading CSV line by line using OpenCSV and FifoBuffer使用 OpenCSV 和 FifoBuffer 逐行读取 CSV
【发布时间】:2015-01-10 14:22:40
【问题描述】:

我正在读取一个 CSV 文件并使用 OpenCSV 读取它并使用 CircularFifoBuffer 将数据拆分为列并将每列的值分配给一个字符串。这适用于读取 csv 文件中的特定行,但是我希望从头开始逐行读取 csv 文件并向下工作到最后一行。

然后每次读取一行时,都会比较字符串值,并在满足给定条件的情况下读取下一行。

我可以处理上述所有条形逐行处理 CSV 数据。

任何指针将不胜感激。

【问题讨论】:

    标签: java opencsv


    【解决方案1】:

    直接来自the FAQ

    如果你想使用迭代器样式模式,你可以这样做:

    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();
    

    这将为您提供可以迭代的 String[] 列表。如果一切都失败了,请查看 Javadoc。

    【讨论】:

    • 那么您的建议是读取每一行并将其导入到 FifoBuffer 中,对其进行处理然后移至下一行?
    猜你喜欢
    • 1970-01-01
    • 2022-11-12
    • 2013-03-08
    • 2017-02-02
    • 2021-08-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-13
    相关资源
    最近更新 更多