作文本数据处理,我最怕遇到pdf和docx,一旦遇到了,都是双手开启无影指模式狂按快捷键。按的手抽,按的崩溃。python
今天我大师兄查哥搞定了pdf文件的读取,知道此过后异常欣喜。在此基础上,我查找了docx文件的读取实现方式,特发此文与众分享。ide
安装
代码是运行在python3,须要安装的包:code
pdfminer3kblog
from io import StringIO from pdfminer.pdfinterp import PDFResourceManager from pdfminer.pdfinterp import process_pdf from pdfminer.converter import TextConverter from pdfminer.layout import LAParams import re import docx def read_from_pdf(file_path): """ 读取pdf文件,并返回pdf中的文本内容。 :param file_path: pdf文件路径 :return: 字符串 """ with open(file_path, 'rb') as file: resource_manager = PDFResourceManager() return_str = StringIO() lap_params = LAParams() device = TextConverter(resource_manager, return_str, laparams=lap_params) process_pdf(resource_manager, device, file) device.close() content = return_str.getvalue() return_str.close() return re.sub('\s+', ' ', content) def read_from_docx(file_path): """ 读取docx文件,并返回其中的文本内容 :param file_path: docx文件路径 :return: docx中的文本内容 """ texts = '' doc = docx.Document(file_path) for para in doc.paragraphs: texts += para.text return texts print(read_from_pdf('test.pdf')) print(read_from_docx('test.docx'))
运行结果可见下图,这是我在本身电脑上成功读取pdf,今后手指不再用抽筋了,开心!字符串