两行代码读取pdf、docx文件

最近运行课件代码,发现pdf文件读取部分的函数失效。这里找到读取pdf文件的可运行代码,为了方便后续学习使用,我已将pdf和docx读取方法封装成pdfdocx包。

pdfdocx

只有简单的两个读取函数

  • read_pdf(file)

  • read_docx(file)

file为文件路径,函数运行后返回file文件内的文本数据。

安装

pip install pdfdocx

使用

读取pdf文件

from pdfdocx import read_pdf
p_text = read_pdf('test/data.pdf')
print(p_text)

Run

这是来⾃pdf⽂件内的内容
from pdfdocx import read_docx
d_text = read_pdf('test/data.docx')
print(d_text)

Run

这是来⾃docx⽂件内的内容

拆开pdfdocx

希望大家能安装好,如果安装或者使用失败,可以使用下面的代码作为备选方案

读取pdf

from io import StringIO
from pdfminer.converter import TextConverter
from pdfminer.layout import LAParams
from pdfminer.pdfdocument import PDFDocument
from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter
from pdfminer.pdfpage import PDFPage
from pdfminer.pdfparser import PDFParser
import re


def read_pdf(file):
    """
    读取pdf文件,并返回其中的文本内容
    :param file: pdf文件路径
    :return: docx中的文本内容
    """
    output_string = StringIO()
    with open(file, 'rb') as in_file:
        parser = PDFParser(in_file)
        doc = PDFDocument(parser)
        rsrcmgr = PDFResourceManager()
        device = TextConverter(rsrcmgr, output_string, laparams=LAParams())
        interpreter = PDFPageInterpreter(rsrcmgr, device)
        for page in PDFPage.create_pages(doc):
            interpreter.process_page(page)
    text = output_string.getvalue()
    return text
  

读取docx

import docx
  
def read_docx(file):
    """
    读取docx文件,并返回其中的文本内容
    :param file: docx文件路径
    :return: docx中的文本内容
    """
    text = ''
    doc = docx.Document(file)
    for para in doc.paragraphs:
        text += para.text
    return text

精彩回顾

中文文本分析相关资源汇总

cnsenti中文情绪情感分析库

5个小问题带你理解列表推导式

Python网络爬虫与文本数据分析

综述:文本分析在市场营销研究中的应用

LabelStudio多媒体数据标注工具[5星推荐]

如何批量下载上海证券交易所上市公司年报

Loughran&McDonald金融文本情感分析库

如何使用Python快速构建领域内情感词典

Python数据分析相关学习资源汇总帖

漂亮~pandas可以无缝衔接Bokeh

YelpDaset: 酒店管理类数据集10+G

万水千山总是情,给我点好看可好❤

  • 4
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值