作文本數據處理,我最怕遇到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,今後手指不再用抽筋了,開心!字符串