On 12/12/2013 03:10 AM, brian cleere wrote:
I know the problem is with the for loop but don't know how to fix. Any help 
with explanation would be appreciated.

#!/bin/env python
import csv
import sys

if len(sys.argv) < 3:
     print('Please specify a filename and column number: {} [csvfile] 
[column]'.format(sys.argv[0]))
     sys.exit(1)

filename = sys.argv[1]
column = int(sys.argv[2])


for line in filename() , column ():
     elements = line.strip().split(',')
     values.append(int(elements[col]))

"filename" is a string, and "column" is an integer, the interpreter should warn you that they are not callable
the above three lines could be changed to
==>
values = []
for line in open(filename):
     elements = line.strip().split(',')
     values.append(int(elements[column]))

or now that you have the "csv" module, you can use "csv.reader" to parse the file:
==>
values = [ row[column] for row in csv.reader(open(filename, 'rb')) if len(row) > column ]


csum = sum(values)
cavg = sum(values)/len(values)
print("Sum of column %d: %f" % (col, csum))
print("Avg of column %d: %f" % (col, cavg))


--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to