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