我有以下问题,我将.csv文件导入名为csv的二维数组。
每个奇数行都有空条目,因此从0(0,2,4,... 606)开始的偶数行都填充了与我相关的数据
所以,2d数组的大小是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;
}
}
任何想法?