Suma una columna csv en python

Estoy tratando de hacer una sum de una columna en un archivo csv. El archivo se ve como:

Date Value 2012-11-20 12 2012-11-21 10 2012-11-22 3 

Esto puede estar en el rango de cientos de filas. Necesito obtener el total de Valor (en este caso sería 25) impreso en un terminal. Hasta ahora tengo algo de código, pero resulta en una cifra mucho más pequeña de lo que debería sumr. Al solucionarlo, hice una impresión de la sum y me di cuenta de que en lugar de sumr 12 + 10 + 3, en realidad rompe los números en cada columna y sum como 1 + 2 + 1 + 0 + 3, lo que obviamente equivale a mucho menor total ¡Aquí está mi código, si alguien pudiera hacer una recomendación sería genial!

 with open("file.csv")) as fin: headerline = fin.next() total = 0 for row in csv.reader(fin): print col # for troubleshooting for col in row[1]: total += int(col) print total 

El módulo csv recorre las filas una por una, no hay necesidad de pasar sobre la columna. Solo sum int(row[1]) :

 with open("file.csv") as fin: headerline = fin.next() total = 0 for row in csv.reader(fin): total += int(row[1]) print total 

Puede usar un acceso directo con una expresión generadora y la función incorporada sum() :

 with open("file.csv") as fin: fin.next() total = sum(int(r[1]) for r in csv.reader(fin)) 

Tenga en cuenta que en Python, las cadenas también son secuencias, por lo que cuando lo hace for col in row[1]: está haciendo un bucle sobre los caracteres individuales de la row[1] ; así que para tu primera fila sería 1 y 2 :

 >>> for c in '123': ... print repr(c) ... '1' '2' '3'