2016-11-16 6 views
0

javaでcsvファイルを解析しようとしていますが、問題が発生しています。私はそうのようなCSVファイルを分割しようとすると:javaで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,,,,,,,,,,,,,,,,,,,,,,,,,, 
Central Ward,,,,,,,,,,,,,,,,,,,,,,,,,, 

:私のcsvファイルにもかかわらず

[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] 

誰かがそれを助けることができれば素晴らしいでしょう。余分なポイントについては、後でcsvが「Smith、John」のような名前をリストアップするので、スプリットに変更が必要な場合は頭に入れてください。前もって感謝します。

+0

FYIのCSVは非常に奇妙な形式なので、グループ内にカンマがあまり必要ないはずです。 CSVファイルの外観は次のとおりです。https://en.wikipedia.org/wiki/Comma-separated_values – AndrewB

+0

これは単なるプログラミング演習でない限り、優れたオープンソースのCSV解析ライブラリの1つを使用することを検討してください。 – dnault

+0

@AndrewB CSVファイルにはさらに多くの列が使用されています。これらはスプレッドシートの上部にある見出しです。 – needshelp

答えて

4

hasNextおよびnext言葉を繰り返す場合は、hasNextLinenextLineが必要です。

区切り文字を含むフィールドについては、データセットのサンプルを調べて、区切り文字がsplitによって無視されることを示す定義可能なルールがあるかどうか試してみる必要があります。

関連する問題