Python-从.csv文件创建数组并获取该数组的总和

时间:2013-11-25 02:08:41

标签: python arrays file csv

我有一个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文件中的行数以获得平均值。

2 个答案:

答案 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