次の問題があります。ファイル .csv を csv という 2 次元配列にインポートしました。
これには奇数行ごとにnullエントリがあるため、0(0、2、4、... 606)から始まる偶数行だけが関連するデータで満たされます
したがって、2 次元配列のサイズは 609、560 であり、csv.length および csv[1].length の出力から得られます。
サイズが 304x561 のファイルが必要で、それを csv2 と呼びます。
ただし、次のコードではエラーが発生します
String rows[] = loadStrings("cit2.txt");
String [][] csv; // initialize csv file
String [][] csv2; // initialize reduced csv file
int csvWidth=0;
//calculate max width of csv file
for (int i=0; i < rows.length; i++) {
String [] columns = split(rows[i],'\t');
if (columns.length>csvWidth){
csvWidth=columns.length;
}
}
//create csv array based on # of rows and columns in csv file
csv = new String [rows.length][csvWidth];
//parse values into 2d array
for (int i=0; i < rows.length; i++) {
String [] temp = new String [rows.length];
//strDelimiter = (strDelimiter || ",");
temp= split(rows[i], '\t');
for (int j=0; j < temp.length; j++){
csv[i][j]=temp[j];
}
}
//test
println(csv[604][0]);
println(csv.length);
println(csv[0].length);
int row = csv.length;
println(((row-1)/2));
int newrow = 0;
int col = csv[0].length;
//int row = csv.length;
csv2 = new String [((row-1)/2)-1][col];
for (int c=0; c <csv[0].length; c++)
{
for(int r=0; r<(csv.length)-1; r = r+2)
{
String temp = csv[r][c];
newrow = newrow +1;
csv2[newrow][c]= temp;
}
}
何か案が?