当前位置: 首页 > 知识库问答 >
问题:

OpenCSV读取特定列

施文彬
2023-03-14

我在使用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个答案

狄兴业
2023-03-14

没关系,我找到了诀窍。

这是它应该看起来的样子。

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

之后,我可以获取字符串值并使用它。

 类似资料:
  • 我对java librairie OpenCSV有问题。我没有读完我的CSV文件的所有行,我只读了第二行,我不知道为什么... 我的CSV文件: 我使用OpenCSV创建一个android列表,只有“Julie”“Julie”这一行被添加了3次...

  • 我使用OpenCSV进行CSV文件的读写。在I hsd安装早期版本的Java(即Java 6)之前,它工作得很好。安装完之后,我的代码就停止工作了: 线程“main”java.lang.UnsupportedClassVersionError:COM/OpenCSV/CSVReader:不支持Major.Minor版本51.0在java.lang.ClassLoader.DefineClass1(

  • 问题内容: 我有一个包含100行的CSV文件。 如何读取特定行? 我想读第9行或第23行等? 问题答案: 您可以使用来过滤文件,如下所示:

  • 问题内容: 我正在使用for循环读取文件,但是我只想读取特定的行,例如26号和30号行。是否有任何内置功能可实现此目的? 问题答案: 如果要读取的文件很大,并且你不想一次读取内存中的整个文件: 注意,对于nth行。 在Python 2.6或更高版本中:

  • 我已经考虑了很长一段时间了。我正在尝试从雅虎的股票API下载数据。当您使用 API 时,它会为您提供一个文件。我一直在看opencsv,这似乎很完美,除了我想避免下载和保存文件,如果可能的话。 根据示例,OpenCSV只能从中读取。根据Oracle关于的文档,文件需要是本地的。 是否可以使用 OpenCSV 从远程文件读取而不下载?

  • 问题内容: 我正在尝试使用php从文本文件中读取特定行。这是文本文件: 我如何使用php获取第二行的内容?这将返回第一行: ..但我需要第二个。 任何帮助将不胜感激 问题答案: 文件—将整个文件读入数组