读取pdf和docx文件,亲测有效

做文本数据处理,我最怕遇到pdf和docx,一旦遇到了,都是双手开启无影指模式狂按快捷键。按的手抽,按的崩溃。

读取pdf和docx文件,亲测有效

今天我大师兄查哥搞定了pdf文件的读取,知道此事后异常欣喜。在此基础上,我查找了docx文件的读取实现方式,特发此文与众分享。

安装
代码是运行在python3,需要安装的包:

  • pdfminer3k

  • python-docx
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,从此手指再也不用抽筋了,开心!

读取pdf和docx文件,亲测有效

上一篇:语法:赖氏经典英语语法.docx


下一篇:一根烟尝试解决docx安装失败,并尝试运行标号、全文格式、生成表格自动化处理(2)