Расчет CSV с использованием Java - PullRequest
1 голос
/ 16 января 2010

Спасибо, что прочитали мой вопрос.У меня есть файл CSV, я читаю его и храню в переменной.Теперь я просто хочу ПЛЮСИТЬ всю колонку, чтобы увидеть ее сумму.Например,

3,34
12,673
23,8543


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

Столбцы и строки могут иметь ограничение N.Выглядит просто, но не знаю, это занимает у меня все время.Пожалуйста, дайте мне знать, какую структуру данных я должен использовать?Или, если вы можете сказать мне несколько шагов, чтобы решить эту проблему.Спасибо!

Ответы [ 3 ]

3 голосов
/ 16 января 2010

Прежде всего, я рекомендую использовать эту библиотеку для чтения 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 для продолжения анализа строк до конца файла.

2 голосов
/ 16 января 2010

Поскольку это, вероятно, домашнее задание, я не буду давать исходный код. Вам просто нужно прочитать строки и разобрать их с помощью String.split. Преобразуйте их в целые числа, используя Integer.parseInt. Остерегайтесь исключений. Если у вас есть N столбцов, вам нужно иметь N переменных для хранения результата. Обновляйте переменные после каждого чтения.

1 голос
/ 16 января 2010

Спасибо всем за помощь. Я решил это сам. Я использовал 2-х мерный массив. 1 представляют столбец, а 2 представляют строки. Я получаю номер столбца для объявления динамического 1-го массива, затем использую цикл для хранения значений и суммирования их! ! !

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...