在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 楼答案
hasNext
和next
迭代单词,您需要hasNextLine
和nextLine
至于包含定界符的字段,我们必须查看数据集中的一个示例,看看是否有一条规则可以定义,表明定界符可以被
split
忽略