我有一个csv文件,其中包含我从另一个python程序输入的数字。我的目标是获取这些数字并在python中获得这些数字的总和。我的第一个想法是从文件中提取数字并创建一个数组。然后对数组求和。我可以拉数字并打印它们,但我不能用sum(数组)来总结它们。
csv文件很简单:
100
40
50
我试过了:
array=[]
with open('testScores.csv') as fileName:
for line in fileName:
array.append(line.rstrip('\n'))
total=sum(array)
print(total)
我收到以下错误:
Traceback (most recent call last):
File "G:\test1.py", line 14, in <module>
total=sum(array)
TypeError: unsupported operand type(s) for +: 'int' and 'str'
我对此并不熟悉,我不确定如何继续。
我最终将此总和除以CSV文件中的行数以获得平均值。
答案 0 :(得分:1)
您的错误来源是列表tostring
没有array
方法。相反,我认为你想要做的是将一个整数值推到array
的末尾,以便稍后可以sum
array
。
假设每行只包含一个整数值,您可以使用:
array.append(int(line))
代替代码中的第4行。
答案 1 :(得分:0)
如果您安装了numpy,则可以
print sum( numpy.loadtxt( 'testScores.csv' ) )
http://docs.scipy.org/doc/numpy/reference/generated/numpy.loadtxt.html