利用结巴分词的Python版本实现分词并统计词频

来源:互联网 发布:扬州网络电视台节目单 编辑:程序博客网 时间:2024/06/04 17:43

最近在做文本处理,统计词频这个东西大家都熟悉了,直接贴代码方便以后找吧

Python 版本

Python 3.5.2 |Anaconda 4.2.0 (64-bit)|

#!/usr/bin/python# -*- coding:utf-8 -*-import sysimport importlibimportlib.reload(sys)import jiebaimport jieba.analyseimport xlwt  # 写入Excel表的库if __name__ == "__main__":    wbk = xlwt.Workbook(encoding='ascii')    sheet = wbk.add_sheet("wordCount")  # Excel单元格名字    word_lst = []    key_list = []    for line in open('1.txt',encoding= 'utf-8'):  # 1.txt是需要分词统计的文档        item = line.strip('\n\r').split('\t')  # 制表格切分        # print item        tags = jieba.analyse.extract_tags(item[0])  # jieba分词        for t in tags:            word_lst.append(t)    word_dict = {}    with open("wordCount.txt", 'w') as wf2:  # 打开文件        for item in word_lst:            if item not in word_dict:  # 统计数量                word_dict[item] = 1            else:                word_dict[item] += 1        orderList = list(word_dict.values())        orderList.sort(reverse=True)        # print orderList        for i in range(len(orderList)):            for key in word_dict:                if word_dict[key] == orderList[i]:                    wf2.write(key + ' ' + str(word_dict[key]) + '\n')  # 写入txt文档                    key_list.append(key)                    word_dict[key] = 0    for i in range(len(key_list)):        sheet.write(i, 1, label=orderList[i])        sheet.write(i, 0, label=key_list[i])    wbk.save('wordCount.xls')  # 保存为 wordCount.xls文件

需要在python程序同级目录新建三个文件

  • 1.txt
  • wordCount.txt
  • wordCount.xls

1.txt存放待处理文本,其余两个空白即可

结果如下

原创粉丝点击