Доступ к ячейке непосредственно в файле .csv с использованием программирования на C - PullRequest
1 голос
/ 01 апреля 2011

Эй, ребята!Есть ли способ прямого доступа к ячейке в формате файла .csv с помощью C?например, я хочу суммировать столбец с помощью C, как мне это сделать?

Ответы [ 3 ]

1 голос
/ 01 апреля 2011

Если вам нужно использовать C: прочитать всю строку в память, перейти к «», пока не дойдете до нужного столбца, прочитать значение и сложить его, перейти к следующей строке.

Когда вы достигнетеваше значение, вы можете использовать sscanf, чтобы прочитать его.

1 голос
/ 01 апреля 2011

Вероятно, для этого проще всего использовать scanf семью, но это немного зависит от того, как организованы ваши данные. Допустим, у вас есть три столбца числовых данных, и вы хотите суммировать третий столбец, вы можете зациклить оператор вроде этого: (file это FILE*, и открывается с помощью fopen, и вы цикл пока не будет достигнут конец файла)

int n; fscanf(file, "%*d,%*d,%d", &n);

и суммируем n с. Если у вас есть другие виды данных в вашем файле, вам необходимо соответственно указать строку формата. Если данные в разных строках имеют разные типы данных, вам, вероятно, придется искать в строке разделители и выбирать третий интервал.

Тем не менее, вероятно, легче вообще не использовать C, например, Perl или awk, вероятно, сделают лучше, но я думаю, что это не вариант.

0 голосов
/ 02 апреля 2011

Возможно, вы захотите начать с просмотра RFC 4180: общий формат и тип MIME для файлов с разделенными запятыми значениями (CSV) , а затем поиска его реализации.(Однако следует помнить, что понятие значений, разделенных запятыми, предшествует RFC, и существует множество реализаций, которые не соответствуют этому документу.)

Я считаю:

И не так много других в простой c.Существует довольно много реализаций c ++, и большинство из них, вероятно, легко адаптированы к c.

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