如何汇总特定列的数字?

时间:2017-08-08 16:27:47

标签: python file numbers sum multiple-columns

我正在尝试制作一个可以对文本文件中的所有数字进行求和的程序。

这是一个链接,显示文本文件的前5行。

img

如何汇总FXM栏中的所有数字?

我真的很感谢你的帮助!

2 个答案:

答案 0 :(得分:1)

看来你有一个制表符分隔的文本文件。这是一个简单的解决方案函数,其中包含一个使用示例。

import csv
def colsum(filename, delimiter, colname):
    reader   = csv.reader(open(filename), delimiter='\t')
    headers  = next(reader)
    entries  = [ x for x in reader ]
    index    = headers.index(colname)
    result   = sum( [ float(entry[index]) for entry in entries ] )
    return(result)

def main():
    print(colsum('test_data.txt', '\t', 'DD06'))

if __name__ == '__main__': main()

答案 1 :(得分:0)

也许您最好的选择是使用CSV excel文件存储此类数据。然后,您需要打开文件并像这样读取文件...

import csv 
file = open(path, newline='')
read = csv.reader(file)

header = next(reader)

data = []
for row in reader: #This includes all your rows
    #Here you specify the data types of all of your rows

您需要进行一些调整才能使其适用于列。

然后,根据所需列的索引,您可以编写一个循环来遍历列表的所有元素。

ex.
sum=0
for element in column[6]:
     sum+=element #Assuming that you already specified in the previous loop 
                  #that these elements were floats