使用opencsv

时间:2016-02-24 20:54:34

标签: java opencsv

我有一个巨大的CSV文件,我已经读过每一行,并使用每行的哈希值与数据库表进行比较,现在我想再次根据csv文件中的id值提取某些行。我最初无法保存行,因为我有大约20列并且> 500k行。那么列值是否存在查找函数?

 id price year comments
 1   23.5  2014  XYZ
 2   25    2016  XYZ
 3   22.5  2014  XYZ

2 个答案:

答案 0 :(得分:0)

  1. 使用的图书馆:OpenCSV
  2. 您可以使用以下方法从特定列中获取值
  3. csvData:使用来自OpenCSV lib的readAll()获取来自csv的所有数据;
  4. colName:您要为哪个列提取数据。
  5. private void getCsvColumnData(String colName) {

    int counter = 0; String[] col = csvData.get(0); for (String c1 : col) { if (c1.equalsIgnoreCase(colName)) { break; } counter++; } System.out.println("size:- " + counter); for (int i = 1; i < csvData.size(); i++) { String[] label = csvData.get(i); for (int j = 0; j < label.length; j++) { if (j == counter) { System.out.println(label[j]); } } } }

答案 1 :(得分:-1)

使用CsvToBeanFilter。在opencsv api中,您可以使用一个很好的示例来创建自己的过滤器。