计算导入表的总和

时间:2018-10-04 10:09:16

标签: python

这是我的文本文件的内容:

nummer naam vak1 vak2 vak3 vak4 vak5
1234567 Jan 5 7 0 6 4
3526435 Marie 5 5 7 0 0
2230431 Kees 6 10 0 8 6
7685433 André 4 7 8 7 5
0364678 Antoinette 0 2 8 8 8
1424354 Jerôme 7 9 0 5 0
4536576 Kamal 8 0 8 7 8
1256033 Diana 0 0 0 0 0
5504657 Petra 6 6 7 0 6
9676575 Malika 0 6 0 0 8
0253756 Samira 3 8 6 7 10

我已经导入了列表,并且能够打开并将结果打印到python中,仅此而已。下面是我的相同代码:

results = open("resultaten.txt","r")    
Empty_str = ''                          

line = results.readline()               

while line != Empty_str:               
    print(line.strip('\n'))             
    line = results.readline()           

results.close()

我程序的目标是我必须计算行和列方向上结果的总和。如果结果为0,则该课程不会对行或列的总和产生任何影响。

1 个答案:

答案 0 :(得分:0)

假设文件中的列用空格分隔,则可以执行以下操作:

import pandas as pd

index_list = []
result_list = []
with open("resultaten.txt") as f:
    for line in f:
        line = line.strip()
        if len(line) > 0:
            num, name, vak1, vak2, vak3, vak4, vak5 = line.split()
            index_list.append(num)
            result_list.append([vak1, vak2, vak3, vak4, vak5])

df = pd.DataFrame(
    data=result_list,
    index=index_list,
    columns=['vak1', 'vak2', 'vak3', 'vak4', 'vak5'])

# the sum of each column
df.sum(axis=0)

# the sum of each row
df.sum(axis=1)

此后使用pandas.DataFrame进行简单的计算。