Python3自然语言处理(4)——处理原始文本

本文介绍了如何在Python中使用PyPDF2和python-docx库读取PDF和Word文件,详细讲解了读取过程,并展示了创建自定义语料库的方法,包括读取纯文本、PDF和DOCX文件,最后使用PlainTextCorpusReader构建语料库。
摘要由CSDN通过智能技术生成

Python3自然语言处理(4)——处理原始文本

注:转载请联系博主,或关注微信公众号"引文空间",后台提出转载申请,等待回复。否则将举报抄袭!

文本的最重要来源无疑是网络。探索现成的文本集合很方便,但是每个人都有自己的文本来源,我们需要学习如何访问它们。

1.在Python中读取PDF文件
要从Python中访问PDF文件,首先需要安装PyPDF2库:

pip install pypdf2

创建一个新的Python文件,命名为pdf.py并添加以下代码:

from PyPDF2 import PdfFileReader
def getTextPDF(pdfFileName,password=''):
  pdf_file=open(pdfFileName,'rb')
  read_pdf=PdfFileReader(pdf_file)
  if password!='':
    read_pdf.decrypt(password)
  text=[]
  for i in range(0,read_pdf.getNumPages()-1):
    text.append(read_pdf.getPage(i).extractText())
  return '\n'.join(text)

第1代码会导入PyPDF2库中的PdfFileReader类。然后创建一个可以读取一个PDF文件并返回其全文的函数,该函数需要两个参数,一个是你要读取的PDF文件路径,一个是这个PDF文件的密码(如果有的话),password参数是可选的。第3行代码会以读取和反向查找模式打开文件,本质是一个Python文件打开命令/函数,仅能打开非文本的二进制文件。以反向查找模式打开文件很重要,因为当加载文件内容时,PyPDF2模块试图从尾部开始读取文件内容。第4行将打开的文件传递给PdfFileReader类,用于处理PDF文档。如果文件设置了密码保护,就要解密被密码保护的PDF文件,当然,如果在函数调用时设置了密码,那么我们在解密这个文件时也同样需要密码。从第7行开始从PDF文件中读取文本,创建一个字符串列表,并将每一页的文本都添加到这个列表中。第10行为返回最终的输出结果,将列表中所有的字符串都连接起来,并且在每个字符串之间都加一个换行符,返回连接后的单一字符串。
在pdf.py目录下创建另一个名为test.py的文件,在test.py中添加如下代码:

import pdf
pdfFile=r'C:\Users\Administrator\Desktop\examples\pdf2.pdf'
print('PDF1:\n',pdf.getTextPDF(pdfFile))

pdfFile的路径是我的文件存储路径,读者可以根据自己的情况调整。上面的例子中我们打印输出的是一个未加密的PDF文档,如果加密的话格式如下(假定密码为123456):

import pdf
pdfFile=r'C:\Users\Administrator\Desktop\examples\pdf2.pdf'
print('PDF1:\n'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值