Looping through columns in a .csv files in Python
csv, python, sum
Solution
You can just say
for col in row:
total += int(col)
For example:
import csv
from StringIO import StringIO
total = 0
for row in csv.reader(StringIO("1,2,3,4")):
for col in row:
total += int(col)
print total # prints 10
The reason why you can do this is that csv.reader returns a simple list for every row, so you can iterate over it as you would any other list in Python.
However, in your case, since you know that you have a file with a single line of comma-separated integers, you could make this much simpler:
line = open("ints.txt").read().split(",")
total = sum(int(i) for i in line)
Problem
I want to be able to use Python to open a `.csv` file like this: ``` 5,26,42,2,1,6,6 ``` and then perform some operation on them like addition. ``` total = 0 with open("file.csv") as csv_file: for row in csv.reader(csv_file, delimiter=','): for number in range(7): total += int(row[number]) ``` The problem is that since the `.csv` file only has one row and an unknown number of columns, I don't know how to make this work without either hard-coding it like or using really ugly code. Is there any way of looping through the columns using something like `for columns in file` in Python?