如何读取CSV文件的第一列

时间:2018-10-21 11:12:52

标签: java csv

请帮助我阅读Java中CSV文件的第一列。这是我的代码:

public void fileload(String filename)throws IOException
{   int i=0;
    //Sorter S= new Sorter();
    File file=new File(filename); //Read File
    Scanner inputfile = new Scanner(file);
    while(inputfile.hasNext())   //Reading file content
    {
        orgarr[i]= inputfile.nextLine();
        System.out.println(orgarr[i]);
        i++;
    }

2 个答案:

答案 0 :(得分:1)

您可以使用commons-csv来读取格式,例如假设CSVFormat.DEFAULT带有可选的带引号的文本列和逗号作为分隔符:

try (FileReader reader = new FileReader("your/path/to/file.csv")) {
  CSVParser parser = new CSVParser(reader, CSVFormat.DEFAULT);
  parser.getRecords().stream()
      .map(r -> r.get(0))
      .forEach(System.out::println);
}

最好的解决方案将取决于您的文件格式和大小。上面的内容可能不适用于大型CSV文件,因为它会使用getRecords()将所有记录加载到内存中。

答案 1 :(得分:0)

在这里我采用第一列,但在各列之间放置一个逗号,当我发现数字10在第一列中时,我会打招呼

File file = new File("src/test/resources/aaaa.csv");

        List<String> lines = Files.readAllLines(file.toPath(),
                StandardCharsets.UTF_8);
        lines.stream().forEach(l -> {
            String[] array =  l.split(",", 2);
            if(array[0].equals("10"))
                System.out.println("Hello");
        });