python读取word文本进行词频统计

首先,在cmd中输入命令行pip install python-docx,下载安装模块python-docx

安装成功的样子

输入命令行pip install pdfminer3k安装模块:

安装pdfminer

首先我们来看看文件目录:


文件目录

然后开始写读取txt文本的代码:

def readTxt():
    # 读取txt
    ftxt = open('《盗墓笔记少年篇沙海》.txt') # open里的为文件路径
    x = ftxt.read() # x即为读取的文件内容
    ftxt.close() # 关闭文档流
    return x # 返回读取到的文件内容

接下来是读取word文本的代码:

def readWord():
    # 读取word
    import docx # 引入python-docx模块,是的你没有看错,名字不一样
    fword = docx.Document('盗墓笔记.docx') # 括号内的为文件路径
    str1 = ''
    for para in fword.paragraphs: # 读取word的每一段内容
        str1 += para.text #para.text即为该段落的内容
    return str1 # 返回读取到的文件内容

然后是读取pdf的代码:

def readPdf():
    # 读取pdf
    from pdfminer.pdfparser import PDFParser, PDFDocument
    from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter
    from pdfminer.converter import PDFPageAggregator
    from pdfminer.layout import LTTextBoxHorizontal, LAParams
    from pdfminer.pdfinterp import PDFTextExtractionNotAllowed

    text_path = r'盗墓笔记.pdf'
    fpdf = open(text_path, 'rb')
    parser = PDFParser(fpdf) # 用文件对象创建一个PDF文档分析器
    doc = PDFDocument() # 创建一个PDF文档
    parser.set_document(doc) # 连接分析器与文档对象
    doc.set_parser(parser)

    doc.initialize()
    strs = ''
    if not doc.is_extractable:
        # 检测文档是否提供txt转换,不提供就忽略
        raise PDFTextExtractionNotAllowed
    else:
        pdfMgr = PDFResourceManager() # 创建PDF,资源管理器,来共享资源
        laparams = LAParams() # 创建一个PDF设备对象
        device = PDFPageAggregator(pdfMgr, laparams = laparams)
        interpreter = PDFPageInterpreter(pdfMgr, device) # 创建一个PDF解释其对象

        for page in doc.get_pages():
            interpreter.process_page(page) # doc.get_pages() 获取page列表
            layout = device.get_result() # 接受该页面的LTPage对象
            # 这里layout是一个LTPage对象 里面存放着 这个page解析出的各种对象
            # 一般包括LTTextBox, LTFigure, LTImage, LTTextBoxHorizontal 等等
            # 想要获取文本就获得对象的text属性,
            for x in layout:
                if (isinstance(x, LTTextBoxHorizontal)):
                    strs += x.get_text()
    return strs # 返回读取到的文件内容

然后使用jieba模块分词(该模块使用命令pip install jieba安装):

import jieba
wordList = jieba.lcut(readTxt())

词频统计的代码:

def fluAlz(wordList):
    # 词频统计
    wordSet = list(set(wordList))
    fluence = []
    for x in range(len(wordSet)):
        fluence.append([wordSet[x], wordList.count(wordSet[x])])
    fluence = sorted(fluence, key = lambda flu:flu[1], reverse = True)
    return fluence

最后将结果写入txt文件内:

fluence = fluAlz(wordList)
# 将结果写入txt
fwrite = open('test.txt', 'w')
fwrite.write(str(fluence))
fwrite.close()
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,204评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,091评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,548评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,657评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,689评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,554评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,302评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,216评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,661评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,851评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,977评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,697评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,306评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,898评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,019评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,138评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,927评论 2 355

推荐阅读更多精彩内容

  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 5,746评论 0 10
  • jieba分词,学习,为了全面了解该模块,,预设学习路线:官方文档——优秀博客文章——实践学习 官方文档部分 (文...
    竹林徒儿阅读 4,118评论 1 12
  • # Python 资源大全中文版 我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列...
    小迈克阅读 2,986评论 1 3
  • 常用库: fuzzywuzzy,字符串模糊匹配。 esmre,正则表达式的加速器。 Chardet字符编码探测器,...
    AlastairYuan阅读 2,288评论 0 43
  • 一代代人成长,一代代人老去。时光卷走他人的故事,我们只剩下自己。 ——野夫 岁月胜如风烟,年来如转轴。 又是一...
    优俩阅读 193评论 0 0