这是我的文本文件的内容:
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,则该课程不会对行或列的总和产生任何影响。
答案 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
进行简单的计算。