Python实现文件数值累加统计:基于字典的累加算法
本文介绍如何使用Python读取包含“num1 num2”格式记录的文件,并通过字典结构统计num1对应的num2总和。核心思路利用字典Key的唯一性,遍历文件逐行解析,若Key已存在则累加Value,否则存入新记录。代码展示了完整的文件读取、字典更新及结果输出流程,适用于简单的数据汇总场景。
Python文件数值累加统计实现
问题描述:
假设一个文本文件包含多条记录,每条记录的格式为“num1 num2”,即两个数值由空格分隔。在某些业务场景下,我们需要对文件中所有记录的num1所对应的num2值进行汇总统计,得到每个num1对应的num2总和。
处理问题的思路
使用Python语言来处理这一任务非常便捷,仅需编写少量代码即可完成。
处理思路:
1:首先定义一个字典变量,用于存储最终的统计结果。选择字典是因为其Key具有唯一性,便于按num1进行分组统计。
2:打开目标文件,逐行读取内容。将每一行数据按空格分割,把第一个数值(num1)作为字典的Key,第二个数值(num2)作为Value。
3:检查字典中是否已存在该Key。如果存在,获取其对应的原始累加值,并在字典中删除该旧Key(为重新赋值做准备)。
4:将获取的原始值与当前记录中的num2值相加,得到新的累加和,并将该结果作为Value重新存入字典中。
5:遍历结束后,打印字典内容,即可查看每个num1对应的num2总值。
代码如下:
stat={}
with open("rg_amount.txt") as file:
for line in file:
list_line = line.strip().split()
key=list_line[0]
value=list_line[1]
oldValue=0
if(stat.has_key(key)):
oldValue=stat[key]
del(stat[key])
stat[key]=int(oldValue)+int(value)
print(stat)
同理,如果需求是统计某个num1出现的次数,只需将上述逻辑中的Value初始值设为1,并在累加时每次加1即可实现计数功能。
以上这篇使用Python对文件中的数值进行累加的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持本站。
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









