如下列这个数据文档
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))