Python统计字符出现次数(Counter包)以及txt文件写入

# -*- coding: utf-8 -*-
#spyder (python 3.7)

1. 统计字符(可以在jieba分词之后使用)

from collections import Counter
from operator import itemgetter

# txt_list可以写成函数参数进行导入
txt_list = [‘千古‘,‘人间‘,‘人间‘,‘龙‘,‘龙‘,‘龙‘,‘哈哈哈‘,‘人才‘,‘千古‘,‘千古‘]
c = Counter()
for x in txt_list:
    if len(x) >= 1:
        if x == ‘\r\n‘ or x == ‘\n‘ or x == ‘ ‘:
            continue
        else:
            c[x] += 1
print(‘常用词频统计结果: \n‘)
for (k, v) in c.most_common(4): #打印排名前四位
    print(‘%s%s %s  %d‘ % (‘  ‘ * (3 ), k, ‘*‘ * 3, v))

# 按照词频数从大到小打印
d = sorted(c.items(),key=itemgetter(1),reverse = True)
for ss,tt in d:
    out_words=ss + ‘\t‘ + str(tt)
    print(out_words)

2. 多次覆盖,循环写入文件

#写入文件,多次写入,后一次覆盖前一次,但是out_words本身是在叠加的
#即:第一次写入的是:千古\t3\n;第二次写入的是:千古\t3\n龙\t3\n,覆盖上一次的数据;
#第三次是:千古\t3\n龙\t3\n人间\t2\n,继续覆盖上一次的数据
out_words = ‘‘
for ss,tt in d:
    out_words=out_words + ss + ‘\t‘ + str(tt) + ‘\n‘
    with open(r".\sss.txt", "w",encoding=‘utf-8‘) as f:
        f.write(out_words+‘\n‘)

比如,循环两次的结果是:

3. 一次性写入文件,中间不会覆盖和多次写入;但是如果重复运行代码,则会覆盖之前的全部内容,一次性重新写入所有新内容

out_words = ‘‘
for ss,tt in d:
    out_words=out_words + ss + ‘\t‘ + str(tt) + ‘\n‘
with open(r".\ttt.txt", "w",encoding=‘utf-8‘) as f:
        f.write(out_words+‘\n‘)

原文地址:https://www.cnblogs.com/qi-yuan-008/p/11688911.html

时间: 2024-10-09 16:15:48

Python统计字符出现次数(Counter包)以及txt文件写入的相关文章

统计字符出现次数并排序(hash)

统计字符出现次数并排序 class Hist(dict): def add(self, item, increment=1): """increase num""" self[item] = increment + self.get(item, 0) def counts(self, reverse=False): """return""" aux = [(self[k], k) for

统计字符出现次数

如何统计字符串中每个字符出现的次数,这类题遇到过很多次,下面就来谢谢解决思路: 可采用HashMap来解决,HashMap存储的是键值对,即key-value;每个key对应一个value值,利用这个特性,可以将字符看为key,value看做字符出现的次数,这样就可以很好地解决这个问题,下面给出详细代码: 1 import java.util.HashMap; 2 import java.util.Iterator; 3 import java.util.Map; 4 import java.u

(实验6)编写统计字符出现次数函数

自己编写一个字符串链接函数:函数首部定义为void fun(char a[],char b[])其功能是:将形参数组b中的字符顺序连接到形参数组a的字符串后面.注:不能使用字符串的复制和连接函数.例如:a中的字符串为hello,b中的字符串为123,则字符串a中的内容为hello123. main函数中输入两字符串赋给字符数组str1和str2,调用fun函数,使其功能改为统计字符串2在字符串1中出现的次数. #include<stdio.h>#include<string.h>i

js统计字符出现次数

var s = "The rain in Spain falls rain mainly in the rain plain"; var reg = new RegExp("rain", "g"); alert(s.match(reg).length);

Python学习之旅-10-文件储存:txt文件、csv文件、json文件

1.存储数据txt文件. 1.1 实例: # 1 存储 txt 文件 data = '''我是一个txt文件''' # 存储的文件名:file='test.txt' # 文件打开方式:mode='a' # 编码格式:encoding='UTF-8' with open(file='test.txt',mode='a',encoding='UTF-8') as f : f.write(data) # 保存内容 f.close() # 关闭文件 1.2 打开文件的不同模式: 模式 描述 r r,以只

python统计字符串里每个字符的次数

方法一: 推导式 dd="ewq4aewtaSDDSFDTFDSWQrtewtyufashas" print {i:dd.count(i) for i in dd} 方法二: counter import collections dd="ewq4aewtaSDDSFDTFDSWQrtewtyufashas" obj = collections.Counter(dd) print obj 方法三: 和方法一类似 dd="ewq4aewtaSDDSFDTFDS

python 统计list中各个元素出现的次数

python 统计list中各个元素出现的次数利用Python字典统计利用Python的collection包下Counter的类统计利用Python的pandas包下的value_counts的类统计利用字典dict来完成统计举例: a = [1, 2, 3, 1, 1, 2]dict = {}for key in a: dict[key] = dict.get(key, 0) + 1print dict12345输出结果: >>>{1: 3, 2: 2, 3: 1}1利用Python

Python统计列表中的重复项出现的次数的方法

前言 在实际工作和学习中,经常会遇到很多重复的数据,但是我们又必须进行统计,所及这里简单介绍一下统计列表中重复项的出现次数的简单方法. 实例 本文实例展示了Python统计列表中的重复项出现的次数的方法,是一个很实用的功能,适合Python初学者学习借鉴.具体方法如下: #方法1: mylist = [1,2,2,2,2,3,3,3,4,4,4,4] myset = set(mylist)  #myset是另外一个列表,里面的内容是mylist里面的无重复 项 for item in myset

如何用Python统计《论语》中每个字的出现次数?10行代码搞定--用计算机学国学

编者按: 上学时听过山师王志民先生一场讲座,说每个人不论干什么,都应该学习国学(原谅我学了计算机专业)!王先生讲得很是吸引我这个工科男,可能比我的后来的那些同学听课还要认真些,当然一方面是兴趣.一方面是跨了学科听课,内容引人入胜,主要还是我懂得太少了,哈!我记得当时讲座的主题是有关孔子与齐鲁大地的关系,也正是那场讲座让我下决心跨学院选修了<中国古代思想文化史研究>,才让我对于诸子百家思想有了更深的认识,教授们轮番上阵,让我们学习到我们中华民族先贤智慧.也认识了历史学和中国哲学专业的同学,其中还