【发布时间】:2015-11-05 01:18:53
【问题描述】:
我需要获取一个 CSV 文件并找到每一行和每一列的平均值。有 922 行和 11 列。到目前为止,我已经能够将这些值打印到控制台,但它们并没有被行和列分隔,只有一个值,然后是一个新行。到目前为止,我有:
public static void main(String[] args) {
String fileName = "eeg.csv";
File file = new File(fileName);
try {
Scanner inputStream = new Scanner(file);
while (inputStream.hasNext()){
String data = inputStream.next();
System.out.println(data);
}
inputStream.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
对于将值重新排序为行和列的任何帮助,以及有关如何按行和列查找平均值的任何建议,我将不胜感激。谢谢。
【问题讨论】:
-
使用为工作设计的库,比如 openCSV
-
我投票给 Apache POI
-
@TheLima openCSV 是那么大(与 apache API 相比)并且 CSV 比用逗号分隔的值更复杂,因此无需重新发明轮子。我认为任何开发人员可以开发的最佳技能之一就是知道何时由 3rd 方库解决该问题,以及何时花时间推出自己的库是一个更好的解决方案。而你必须手动完成的所有解析都可以用一两行简单的代码来完成,只要说
-
@TheLima 如果列数据包含
,?这就是我建议使用专用库的原因,解析 CVS 看起来很简单,但很快就会变得混乱。我希望你不建议人们手动解析 HTML 和 XML:P