美文网首页
文本内容分词-统计出现频率

文本内容分词-统计出现频率

作者: 小帅明3号 | 来源:发表于2020-11-24 15:12 被阅读0次
import os
from datetime import datetime
import jieba
import xlwt

#同目录下多个Excel合并成一个

#需要将这个文件放到根目录下
jieba.set_dictionary("dict.txt")
jieba.initialize()

#初始化全局变量

exit_='Y'
while True:
    pwd = input('请输入工具码(输入exit退出):')
    if pwd=='exit':
        break
    if pwd!='1':
        print("密码错误,请重新输入!")
        continue
    #设置有效期
    if  not datetime.now().strftime('%Y-%m-%d')<='2020-11-25':
        print("工具有效期到达上限!")
        continue
    # 设置登录密码
    if pwd == '1':
        print('登录成功!\n')
        while True:
            file_ph=input('请输入需分词的文件路径:')
            file_ph_res=file_ph+'\\分词后'
            #解析路径下的所有xls,xlsx
            try:
                file_list = [i for i in os.walk(file_ph)]
                if len(file_list):
                    file_list=file_list[0][2]
                    wfile = file_ph_res + '\\分词.xls'
                    we = xlwt.Workbook()  # 创建一个Excel对象
                    sh = we.add_sheet('sheet1', cell_overwrite_ok=True)  # 某个单元格可以复写,多次写入不报错
                    #计数最大行
                    ran_sh_max=0
                    for i in file_list:
                        if  '.TXT' in i.upper():
                            rfile = file_ph+'\\'+i
                            #若目标路径不存在,创建
                            if not os.path.isdir(file_ph_res):
                                os.mkdir(file_ph_res)
                            txt=open(rfile, 'r',encoding='utf-8').read()
                            words = jieba.lcut(txt)  # 使用精确模式对文本进行分词
                            counts = {}  # 通过键值对的形式存储词语及其出现的次数
                            for word in words:
                                if len(word) == 1:  # 单个词语不计算在内
                                    continue
                                else:
                                    counts[word] = counts.get(word, 0) + 1  # 遍历所有词语,每出现一次其对应的值加 1
                            items = list(counts.items())

                            items.sort(key=lambda x: x[1], reverse=True)  # 根据词语出现的次数进行从大到小排序
                            for i in range(len(items)):
                                word, count = items[i]
                                sh.write(i + ran_sh_max, 0, word)  # 在第i行第1列写内容
                                sh.write(i + ran_sh_max, 1, count)  # 在第i行第1列写内容
                            ran_sh_max+=len(items)
                    we.save(wfile)
                else:
                    print('输入目录未检测到Txt文件!!')
                    exit_ = input("是否继续?(Y/N):")
                    if exit_.upper() == 'N':
                        break
                    continue
            except Exception as e:
                print(e)
            print("解析完成,分词成功!\n")
            exit_=input("是否继续?(Y/N):")
            if exit_.upper()=='N':
                break
    if exit_.upper()=='N':
        break
os.system('pause')

相关文章

  • 文本内容分词-统计出现频率

  • 汉语词频统计

    该案例以党的十九大报告为例,统计报告中各个词语出现的频率。总体步骤为读入文本,分词,词频统计。通过观察词语频率最高...

  • TASK2

    任务要求: 基本文本处理技能:中英文字符串处理(删除不相关的字符、去停用词);分词(结巴分词);词、字符频率统计。...

  • 词汇云图制作实战

    词汇云图是文本可视化的一种形式。它是借助专门的网站或工具,统计文本中词汇出现频率,文字出现的频率越高,字体越大,最...

  • Python3.5+PyQt5词频统计(一)

    一、需求分析 统计给定英文文档中单词出现的频率,要求速度快、准确率高,有良好的交互界面,初期实现简单的分词、统计功...

  • W4J音乐热评一生成评论词云一Nodejs开启子进程

    功能场景 获取888条评论内容,使用segment进行分词。 统计词出现次数,生成{'喜欢':67,'爱情':56...

  • 「脚本」词频统计 & 有效电话号码

    00192 词频统计 题目描述 写一个 bash 脚本以统计一个文本文件 words.txt 中每个单词出现的频率...

  • Hadoop学习(三) Map/Reduce编程

    WordCount是一个简单的应用,它读入文本文件,然后统计出字符出现的频率。输入是文本文件,输出也是文本文件,它...

  • 【2020-02-25】leetcode shell

    192、词频统计写一个 bash 脚本以统计一个文本文件 words.txt 中每个单词出现的频率。 为了简单起见...

  • shell题

    统计词频 写一个 bash 脚本以统计一个文本文件 words.txt 中每个单词出现的频率。 为了简单起见,你可...

网友评论

      本文标题:文本内容分词-统计出现频率

      本文链接:https://www.haomeiwen.com/subject/jtwiiktx.html