Добавить все значения в столбец CSV в Python

Они кажутся чем-то очень простым, но поиск, как я могу, просто не могу пройти мимо него.

У меня есть файл CSV:

Day,Event,Value 1,"Rent",500 7,"Wage Payments",1000 

Я хочу добавить все цифры в столбце «значение». До сих пор мой код:

 cr = csv.reader(open("file.csv","rb")) for row in cr: print row #print sum(Value) 

Как я могу рассчитать эту ценность?

Спасибо.

  • Установка python3.2 по умолчанию вместо python2.7 на Mac OSX Lion 10.7.5
  • Как я могу вызвать DLL с языка сценариев?
  • Удалить элемент из словаря
  • Ссылка на словарь Python на соседний словарь
  • Отображение обратного отсчета для функции ожидания python
  • Как установить lessc и nodejs в виртуальной среде Python?
  • SQLAlchemy отношение «многие ко многим» в декларативных таблицах
  • Объект Python в QMimeData
  • 4 Solutions collect form web for “Добавить все значения в столбец CSV в Python”

    Учитывая первую строку csv файла: 'Day,Event,Value' , вы можете использовать generator expression с sum()

     >>> cr = csv.reader(open("file.csv","rb")) >>> cr.next() >>> print sum(int(x[2]) for x in cr) 1500 
     cr = csv.reader(open("file.csv","rb")) cr.next() # to skip the header total = 0 for row in cr: total += int(row[2]) # possibly do other things with data/rows print total 

    Для этого есть более сложные способы (например, понимание списков или выражений генератора), но это обеспечивает основную идею, а также позволяет делать другие вещи с каждой строкой по мере необходимости (как указано в @MarkRansom)

    Сделайте значение для мусора и прочитайте первые два значения и «перепутайте» их, а затем, прочитав в третьем значении, добавьте его в свою сумму. Не забывайте, что изначально вам нужно игнорировать первые 3 значения файла, так как он будет собирать заголовки.

    Учитывая, что «значение» находится в столбце 2, вы можете выполнить следующий простой цикл:

     value_sum=0 for row in cr: value_sum += row[2] 

    Или вы можете использовать понимание, если вы это понимаете:

     value_sum = sum([row[2] for row in cr]) 
    Interesting Posts

    Импорт из встроенной библиотеки при наличии модуля с таким же именем

    Зашифрованный домашний каталог Ubuntu | Errno 36 Слишком длинное имя файла

    Как правильно использовать __setattr__, избегая бесконечной рекурсии

    Python: TypeError: объект 'file' не имеет атрибута '__getitem__'

    установите очень низкие значения на ноль в numpy

    pandas iloc vs ix vs loc объясняет?

    Эквивалент Python для «удерживания» в Matlab

    Вычисление градиента с помощью NumPy

    Создание вторичного каталога сайтов-пакетов (и загрузка пакетов из .pth файлов в нем)

    Почему приложение PyQt открыто в фоновом режиме на Mac OS X?

    Как я могу автоматически заполнить форму PDF в Django / Python?

    Как прервать безошибочную оценку ipython без прерывания родительского процесса?

    Django обязательное поле в модельной форме

    Многопроцессорность Python: ограничение количества используемых сердечников

    Как сделать не равным в фильтрации запросов Django?

    Python - лучший язык программирования в мире.