我尝试计算csv文件中一个列的平均值。首先,我从.csv
文件中读取一列并将其保存到列表中。接下来,当我试图得到意味着它有错误
TypeError: 'builtin_function_or_method' object has no attribute '__getitem__'
我的代码是:
with open('XXXXXX.csv') as f:
reader = csv.DictReader(f)
for row in reader:
for (k,v) in row.items():
columns_95[k].append(v)
sVaR5 = columns_95['95%']
mean_95 = sum(sVaR5)/len(sVaR5)
和我的csv看起来像:
95% 99%
1.225 2.332
1.252 10.252
2.336 4.213
... ...
当我检查我的列表时,输出为['1.225','1.252','2.336']
我认为引号可能是我的代码出错的原因。但是如何解决它!谢谢!!!
答案 0 :(得分:0)
sum
是一个功能。如果要使用参数sum
调用函数sVaR5
,则需要编写:
sum(sVaR5)
如果您的sVaR5
是一个字符串列表,您可以将它们转换为浮点数作为总和:
sum(map(float, sVaR5))
如果你放sum[sVaR5]
,Python会尝试在对象__getitem__
上调用sum
,因此错误
'builtin_function_or_method' object has no attribute '__getitem__'