python只打印一次文件的全部结果?

2024-04-27 01:07:17 发布

您现在位置:Python中文网/ 问答频道 /正文

嗨,我想从一个文件打印一些信息,得到的人的名字只出现一次,所有的人的号码加在一起。你知道吗

文件中的信息如下所示:随机文件.txt你知道吗

Jack, 20.00
Sofie, 12.00 
Jack, 32.50
Sofie, 33.75

我想要的输出:

Jack   52.50
Sofie  45.75

我知道如何获得所有的信息,但我不知道如何获得信息加起来,这样我就可以打印出来,而不必打印多次的名字。你知道吗


Tags: 文件txt信息名字号码jacksofie
3条回答

我把这个留在这里只是为了好玩:

awk '{p[$1] += $2} END {for (k in p) print k" "p[k]}' randompeople.txt

简单的方法。你知道吗

scores = {}
for line in txtfile:
    name, score = line.split(",")
    if name in scores:
         scores[name] += score
    else:
         scores[name] = score
for k,v in scores.items():
   print(k,v)

你还需要做一些调整。。。我把这些留给你

这里有一个简单的方法。你知道吗

s = '''Jack, 20.00
Sofie, 12.00 
Jack, 32.50
Sofie, 33.75'''


final_dict = {}
for line in s.split('\n'):
    name = line.split(',')[0].strip()
    score = line.split(',')[1].strip()
    if name in final_dict.keys():
        final_dict[name] = float(final_dict[name]) + float(score)
    else:
        final_dict[name] = float(score)

for k, v in final_dict.items():
    print(k,'',v)

输出:

Jack  52.5
Sofie  45.75

相关问题 更多 >