使用python对文件中的数值进行累加的实例

yipeiwu_com5年前Python基础

问题描述:

一个文件由若干条记录组成,记录的格式为:“num1 num2”,有时候,需要统计文件中num1对应的num2的总值。

处理问题的思路

用传说中的python来处理,很方便。几行代码就可以了。

处理思路:

1:首先定义一个字典,用于存储最终的结果,这是因为字典中的key是唯一的特性。

2:打开文件,按行读取,将每一行的num1当做key,num2当做value。

3:判断字典中是否存在key,如果存在,获取对应的原始值,然后删除对应的key

4:将原始值和记录中的值相加之和,保存到字典中

5:打印字典,就可以看到结果了。

代码如下:

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)

同理,如果统计出现的次数,可以把上面的value设置成1即可。

以上这篇使用python对文件中的数值进行累加的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python英语单词测试小程序代码实例

这篇文章主要介绍了python英语单词测试小程序代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 爬取了扇贝英语网,并制作了一个...

Java中重定向输出流实现用文件记录程序日志

System中的out,error都是final类型的,不能做改动。但通过setOut()可以设置新的输出流,从而实现写日志的功能。 import java.io.PrintStre...

解决Djang2.0.1中的reverse导入失败的问题

在Django中,版本是1.10.*以前的,导入reverse方法是这样的: from django.core.urlresolvers import reverse 前几天我刚刚...

python3实现windows下同名进程监控

python3实现windows下同名进程监控,供大家参考,具体内容如下 公司老版的SVN服务器的svn服务经常意外关闭,需要写个简单的监控脚本监控一下; 首先多个SVN服务使用不同的端...

python3中的eval和exec的区别与联系

看了很多网上的方法,写入文件后打开文件看确实不再是乱码,但是从文件中读入json时发现了乱码,可能是读文件默认的编码格式不对。下面读写方法可行。 注意,ensure_ascii=Fals...