如何讀取x行數和y列數的.csv excel文件,忽略不相關的單元格(如名稱之類的東西),然後計算每個數字的平均值柱?從.csv excel文件讀取並計算平均值
Excel的我已經是這樣的(,表明新的單元格):
ID, week 1, week 2, week 3, .... , week 7
0 , 1 , 0.5 , 0 , , 1.2
1 , 0.5 , 1 , 0.5 , , 0.5
y , ......
這樣,我怎麼做它,所以它讀取那種.csv文件,然後計算格式周的平均1 =(第1周平均),第2周=(第2周平均)所有周?
另外我正確的假設我需要使用二維數組呢?
編輯 這裏是我的代碼,到目前爲止,這是非常粗糙的,我不知道,如果它做的事情妥善尚未:
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class ClassAverage {
public static void main(String[] args){
readFile2Array("attendance.csv");
}
public static double[][] readFile2Array(String fileName){
try {
int rowCount = 0;
int colCount = 0;
Scanner rc = new Scanner(new File("attendance.csv"));
while (rc.hasNextLine()) {
rowCount++;
rc.nextLine();
}
rc.close();
System.out.println(rowCount);
Scanner cc = new Scanner(new File("attendance.csv"));
while (cc.hasNext()) {
colCount++;
cc.next();
}
cc.close();
colCount = colCount/rowCount;
System.out.println(colCount);
Scanner sc = new Scanner(new File("attendance.csv"));
double[][] spreadSheet = new double[rowCount][colCount];
while (sc.hasNext()) {
for (int i=0; i<spreadSheet.length; ++i){
for (int j=0; j<spreadSheet[i].length; ++j){
spreadSheet[i][j] = Double.parseDouble(sc.next());
}
}
}
sc.close();
return spreadSheet;
} catch (FileNotFoundException e) {
System.out.println("File cannot be opened");
e.printStackTrace();
}
return null;
}
public static double weeklyAvg(double[][] a){
}
}
那麼什麼它旨在總結做
readFile2Array:讀取csv文件並計算行數,然後計算單元總數,按行數除總單元數以查找列數。再次讀取並將每個單元格放入2D數組中的正確位置。
weeklyAvg:我還沒有想過這樣做的方法,但它應該按列讀取數組列,然後計算每列的平均值,然後打印出結果。
PS。我對Java非常陌生,所以我不知道一些建議是什麼意思,所以我真的很感謝那些純粹的基於Java而沒有插件和東西的建議(我不確定這是甚麼人的建議)。我希望它沒有太多要求(如果甚至可能的話)。
到目前爲止,您是否嘗試過任何方法?請分享你的努力。 – Bikku
二維數組是一種這樣做的方法,但您也可以使用一維數組來完成。 –
如果人們有一些相關的**代碼**可以幫助你更容易地幫助你 - 請告訴我們你到目前爲止嘗試過的東西 – 0X0nosugar