2017-08-08 30 views
1

我試圖做一個程序,可以從一個文本文件中總結列中的所有數字。如何對特定列中的數字求和?

這是顯示文本文件的前5行的鏈接。

img

如何將我從例如列FXM總結所有的數字?

我真的很感謝你的幫忙!

+0

這不是一個文本文件... –

+0

@odin化石是這是一個文本文件?在表中如何設置文件?或者它是不同類型的文件? – cunniemm

+0

我知道這不是一個文本文件。這只是第一行的截圖,舉例說明它的樣子。 –

回答

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 
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() 
相關問題