adding values from a csv column and getting the mean. beginner help
Mark Lawrence
breamoreboy at yahoo.co.uk
Wed Dec 11 14:34:30 EST 2013
On 11/12/2013 19:10, 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
You never use the csv module.
> 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 ():
You're trying to loop around the filename and the column, you need to
open the file and loop around that.
> elements = line.strip().split(',')
Please don't do this when you've got the csv module to do things for you.
> values.append(int(elements[col]))
Where did values come from? Is it col or column, please make your mind up?
So let's stick things together. Something like.
values = []
with open(filename) as csvfile:
valuereader = csv.reader(csvfile)
for row in valuereader:
values.append(int(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))
I like consistency, new style formatting here, old style above, still if
it works for you.
--
My fellow Pythonistas, ask not what our language can do for you, ask
what you can do for our language.
Mark Lawrence
More information about the Python-list
mailing list