首先,在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()

python怎么读取txt文件并统计其字数-python读取word文本进行词频统计相关推荐

  1. python读取txt文件并输出到表格_Python读取txt内容写入xls格式excel中的方法

    由于xlwt目前只支持xls格式,至于xlsx格式,后面会继续更新 import xlwt import codecs def Txt_to_Excel(inputTxt,sheetName,star ...

  2. python怎么读取txt文件数据保存数组中-python将txt等文件中的数据读为numpy数组的方法...

    实际中,很多数据都是存为txt文件.csv文件等,但是在程序中处理的时候numpy数组或列表是最方便的.本文简单介绍读入txt文件以及将之转化为numpy数组或列表的方法. 1 将txt文件读为lis ...

  3. c++读取txt文件中的数字_SpringBoot 多种读取配置文件中参数的方式

    点击上方☝SpringForAll社区 轻松关注!及时获取有趣有料的技术文章 本文来源:http://www.mydlq.club/article/61/ . 一.简介 . 1.SpringBoot ...

  4. python怎么创建txt文件啊_搞定Python项目依赖:requirements.txt文件的创建和使用

    Python的强大在于它拥有数量众多的第三方库协助开发,在编写Python项目时,我们经常会使用很多第三方模块.由于不同设备和系统的差异性,导致我们很难分散地控制项目依赖(头铁的同学请绕道),于是re ...

  5. python怎么读取txt文件数据保存数组中-Python Numpy中数据的常用的保存与读取方法...

    在经常性读取大量的数值文件时(比如深度学习训练数据),可以考虑现将数据存储为Numpy格式,然后直接使用Numpy去读取,速度相比为转化前快很多. 下面就常用的保存数据到二进制文件和保存数据到文本文件 ...

  6. matlab怎么逐行读取txt文件内容,转载:matlab 逐行 读取 txt 文件

    转载自:http://blog.sciencenet.cn/blog-762216-1086021.html % The load function can be used to load txt f ...

  7. python读取txt文件时去除换行符

    python读取txt文件时去除换行符 python的readlines()方法用于读取所有行,且返回值是一个列表,换行符包含在字符串中. f = open("temp.txt", ...

  8. python读取txt为dataframe_python批量读取txt文件为DataFrame格式的方法总结

    python怎么批量读取txt文件为DataFrame格式 这次给大家带来python怎么批量读取txt文件为DataFrame格式,python批量读取txt文件为DataFrame格式的注意事项有 ...

  9. matlab中如何读写txt,Matlab中读取txt文件的几种方法

    Matlab中读取txt文件的几种方法 matlab读取文本文件的几种函数: 1.load--适合读取纯数据文本: 2.importdata--只读取数据,自动省略数据格式前后的字符,超大文件不适合: ...

  10. python怎么读取txt文件并统计其字数-python计算文件的行数和读取某一行内容的实现方法...

    一.计算文件的行数 最简单的办法是把文件读入一个大的列表中,然后统计列表的长度.如果文件的路径是以参数的形式filepath传递的,那么只用一行代码就可以完成我们的需求了: count = len(o ...

最新文章

  1. element ui 图片控件 排序_JAVA全栈面试前端基础之四 Vue+Element框架快速开发
  2. 【洛谷 P2464】[SDOI2008]郁闷的小J(线段树)
  3. 拉丁法谚讲习1-24 【ZZ】
  4. JS 处理Json 时间带T 时间格式
  5. shiro的会话管理:应用场景分析
  6. 重学JavaScript(1)--JavaScript简介
  7. 腾达n3_腾达n3迷你路由参数
  8. 我的Python学习笔记(四):动态添加属性和方法
  9. HTML5开发手机项目—个人总结
  10. oracle导入dmp文件出错,IMP导入时的错误以及解决办法
  11. 编写c语言程序一般要经过几个步骤,开发一个c语言程序要经过哪四个步骤
  12. 淘宝首页幻灯片(二) 居中按钮源代码
  13. 免费图床-树洞外链-阿离图床
  14. Spring Boot—Controller 注解
  15. 男人怎么读 萨瓦迪卡!还是萨瓦迪卡不!
  16. 2022年上半年计算机技术与软件专业技术资格(水平)考试陕西考区报名须知
  17. GitLab Projects 2020 插件配置
  18. 【超简单实用教程】mkv、flv格式转mp4格式(附网盘资源)
  19. 基于C语言实现的SML简单程序设计
  20. linux 神秘的0xC0000000内核逻辑地址内核虚拟地址直接映射高端内存

热门文章

  1. 关于笔记本突然鼠标无法连接,电脑蓝牙消失的问题
  2. CSS-06天、定位方式、定位(position)的拓展、淘宝轮播图布局、网页布局总结、元素的显示与隐藏、土豆网鼠标经过显示遮罩
  3. GDAL自带的 rpc纠正和金字塔文件生成方法
  4. 详解vue中数据传递(父传子、子传父、兄弟之间以及vuex)代码附上
  5. c datetime 格式化
  6. MPB:中科院南土所褚海燕组-结构方程模型在土壤微生态中的应用
  7. MySQL讲义第 45 讲——select 查询之查询练习(三)
  8. 计算机自考毕业论文题目,自考男生发表数篇论文获专利 考取名校研究生
  9. Blender-反转法线
  10. 【Pytorch】pack_padded_sequence与pad_packed_sequence实战详解