如下列这个数据文档
ci pi er cc 22 ii
2 3 5 1 2 4
2 4 5 5 1 4
5 6 6 5 6 7
7 7 5 4 3 1
怎么让 cc列的数据 求和平均
我的方法:
#!/usr/bin/env python
f=open('a.txt','r')
title=f.readline().split()
index=title.index('cc')
sum=0
num=0
while True:
line=f.readline().split()
if bool(line)!=0:
sum+=int(line[index])
num+=1
else:
f.close()
print 'sum is %d, avg is %.2f'%(sum,float(sum)/num)
break
下面两种方法是别人写的:
网友lnpool写的:
def get_avg(path, colname):
dfile = open(path)
index = dfile.readline().split().index(colname)
data = [float(line.split()[index]) for line in dfile]
dfile.close()
return sum(data)/len(data)
if __name__ == '__main__':
avg = get_avg(r'd:\test.txt', 'cc')
print avg
网友fuliangcheng写的:
f = file('file.txt')
s = []
sum = 0
for lines in f:
s.append(lines.split())
index = s[0].index('cc')
for i in s[1:]:
sum = sum + int(i[index])
print "The sum of the colum 'cc' is %d"%sum
print "The average of the colum 'cc' is %d"%(sum/(len(s)-1))