OpenCSV读取特定列

时间:2016-04-18 14:33:13

标签: android csv opencsv

我在使用OPENCSV并尝试从一行读取特定列时遇到小问题。我有一个看起来像这样的csv文件

"ID","Name","Name2","Date","Author"
"1","Alex","Example","18.3.2016","Alex"

现在我想只读第2列和第3列(名称和名称2)。

我的代码看起来像这样

try {
            CSVReader reader = new CSVReader(new FileReader(filelocation));

            String [] nextLine;
            int rowNumber = 0;

            while ((nextLine = reader.readNext()) != null) {
                rowNumber++;
                for(int i = 0; i< nextLine.length ; i++){
                    System.out.println("Cell index: " + i);
                    System.out.println("Cell Value: " + nextLine[i]);
                    System.out.println("---");
                }
            }
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

我已经尝试手动将“i”变量设置为1和2.但是后来我在日志中显示了4个相同的结果。缺什么?谢谢!

1 个答案:

答案 0 :(得分:2)

没关系,我找到了诀窍。

以下是它的外观。

try {

            CSVReader reader = new CSVReader(new FileReader(filelocation));

            String [] nextLine;
            int rowNumber = 0;
            while ((nextLine = reader.readNext()) != null) {
                rowNumber++;
                String name = nextLine[1];
                String name2 = nextLine[2];
            }
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

之后,我可以得到字符串值并使用它。