使用java进行Csv计算

时间:2010-01-16 15:51:41

标签: java math data-structures csv

感谢您阅读我的问题。我有一个CSV文件,我读了它并将它存储在一个变量中。 现在我只想加上所有列来查看它的总和。 例如

3,34
12,673
23,8543


SUM
-------------
965,12658

列和行可以是N限制。看起来容易,但不知道,它占用了我的所有时间。 请告诉我应该使用哪种数据结构?或者,如果你能告诉我一些 解决这个问题的步骤。 谢谢!

3 个答案:

答案 0 :(得分:3)

首先,我建议使用此库来阅读CSV:http://opencsv.sourceforge.net/

使用这个库你可以这样写:

CSVReader reader = new CSVReader(new FileReader("yourfile.csv"));
String [] firstLine = reader.readNext();
long sum;
for (String columnValue : firstLine) {
    try {
        sum += Long.parseLong(columnValue);
    } catch (NumberFormatException e) {
        throw new RuntimeException(e);
    }
}
System.out.println(sum);

这个例子只是读取第一行,但你可以编写一个while循环来保持解析行直到文件结尾。

答案 1 :(得分:2)

由于这可能是作业,我不会给出源代码。您只需要读取行并使用String.split解析它们。使用Integer.parseInt将它们转换为整数。注意例外情况。如果你有N列,你需要有N个变量来保存结果。每次阅读后更新变量。

答案 2 :(得分:1)

谢谢大家的帮助。我自己解决了这个问题。我使用了二维数组。第一个表示列,第二个表示行。 我得到列数来声明动态第一个数组然后使用循环来存储值并求它们! ! !