※ ChatGPTを利用し、要約された質問です(原文:CSVファイルを多次元配列に格納する)
CSVファイルを多次元配列に格納する方法と注意点
このQ&Aのポイント
CSVファイルをopenCSVを使用して読み込み、多次元配列に格納する方法について説明します。
データの格納がうまくいかない場合や、2回目の格納時に問題が発生する可能性がある場合のアドバイスを求めています。
配列の要素数を取得し、データを格納する処理を行います。また、読み込んだデータを配列に格納する際に注意が必要です。
CSVファイルをopenCSVを読み込んでその行と列の要素数の多次元配列を作りその配列にデータを格納したいです。
しかし、データが格納できません。2回目の格納するためにwhileから何かおかしいのではないかと思っています。
なにかわかる方、アドバイスが欲しいです。
public class ReadCSV {
public static void main(String[] args){
try{
CSVReader reader = new CSVReader(
new FileReader("/home/masa/Desktop/WameiSample.csv"));
//配列の宣言
String[] nextLine;
//データを配列に入れる要素数を見る
int j = 0;
nextLine = reader.readNext();
int k = nextLine.length;
System.out.println("列数[i]"+k);
System.out.println("nextLine"+nextLine);
while((nextLine = reader.readNext()) != null){
for (int i=0; i<nextLine.length; i++){
//System.out.print(nextLine[i] + "|" + i + "|");
}
//System.out.println();
j++;
}
System.out.println("行数[j]"+j);
//記憶する配列
String[][] Wamei = new String[k][j];
System.out.println("きてるよ");
//データを配列に格納していく
int x = 0;
while((nextLine = reader.readNext()) != null){
System.out.println("きてるよ"); <---こっから、表示してくれない.
for (int y=0; y<nextLine.length; y++){
Wamei[x][y] = nextLine[y];
//多次元配列の要素を表示する
System.out.print(Wamei[x][y]+"Wamei"+x+y);
}
System.out.println();
x++;
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
お礼
ありがとうございます。解決しました。