失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > python怎么读取txt文件并统计其字数-python读取word文本进行词频统计

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

时间:2023-04-30 23:27:46

相关推荐

python怎么读取txt文件并统计其字数-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()

如果觉得《python怎么读取txt文件并统计其字数-python读取word文本进行词频统计》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。