有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

在java中解析csv文件时出现在各行中的单词

我试图用java解析一个csv文件,但遇到了一个问题。当我尝试像这样拆分csv时:

public static void main(String[] args) {
    String nameOfFile = "KingstonNorthWard2016Distribution.csv";
    File file = new File(nameOfFile);
    try {
        Scanner inputStream = new Scanner(file);
            while (inputStream.hasNext()){
            String data = inputStream.next();
            String[] values = data.split(",");
            System.out.println(Arrays.toString(values));
        }
        inputStream.close();

    } catch (FileNotFoundException e) {
        e.printStackTrace();
    }

}

我的控制台返回:

[Distribution]
[Report]
[]
[Print]
[Date/Time:]
[31/10/2016]
[07:27:10PM]
[Bayside]
[City]
[Council]
[2016]

尽管我看起来像这样:

Distribution Report                               ,,,,,,,,,,,,,,,,,,,,,,,,,,
Print Date/Time: 31/10/2016 07:27:10PM,,,,,,,,,,,,,,,,,,,,,,,,,,
Bayside City Council 2016,,,,,,,,,,,,,,,,,,,,,,,,,,
Central Ward,,,,,,,,,,,,,,,,,,,,,,,,,,

我不明白的是为什么我的控制台看起来不像这样:

[Distribution report]
[Print Date/Time: 31/10/2016 07:27:10PM]
[Bayside City Council 2016]
[Central Ward]

如果有人能帮忙,那就太好了。为了获得额外的分数,csv随后会列出像“史密斯,约翰”这样的名字,所以如果我的拆分需要更改,请记住这一点。提前谢谢


共 (1) 个答案

  1. # 1 楼答案

    hasNextnext迭代单词,您需要hasNextLinenextLine

    至于包含定界符的字段,我们必须查看数据集中的一个示例,看看是否有一条规则可以定义,表明定界符可以被split忽略