【问题标题】:How to check if particular data is present in CSV file or not in java?java - 如何检查CSV文件中是否存在特定数据?
【发布时间】:2020-02-17 10:29:47
【问题描述】:

我创建了一个 CSV 文件并通过在 java 中连接数据库来输入值。

现在,我必须检查 CSV 文件中是否存在特定数据/ID? CSV 文件包含多个列,但我必须对 CSV 文件的单个列执行检查。

【问题讨论】:

  • 阅读每一行。将所有列值放入一个数组中(按分隔符拆分)。您将知道要查看的列号 (x)。在数组(x+1)中查找该列数据
  • 非常感谢@TrishulSinghChoudhary 的解决方案。

标签: java database file csv


【解决方案1】:

首先,您需要一种方法来迭代 CSV 文件的行,然后获取所需列中的值,然后将其与您正在搜索的值进行比较。

幸运的是,有大量的库可以简化 CVS 文件的处理。 Apache Commons 有一个可以将文件读取到 CSVRecords 的 Iterable 中。查看文档here

满足您要求的功能可能是:

    public boolean columnContainsValue(String pathToFile, int columnIndex, String targetValue) throws IOException {

        Reader in = new FileReader(pathToFile);
        Iterable<CSVRecord> records = CSVFormat.DEFAULT.parse(in);

        for (CSVRecord record : records) {
            String rowValue = record.get(columnIndex);
            if (targetValue.equals(rowValue) )
                return true;
        }
        return false;
    }

【讨论】:

  • 非常感谢@mtrycz 的解决方案。我正要尝试这段代码,但突然我的要求发生了变化,无法使用这段代码。
猜你喜欢
  • 2019-03-14
  • 1970-01-01
  • 2020-01-05
  • 2013-12-14
  • 2018-11-17
  • 1970-01-01
  • 2021-03-18
  • 1970-01-01
相关资源
最近更新 更多