python代码解析|提取多个pdf中指定文段的信息

 1提取pdf的所有内容

参考Python使用PyPDF2库进行PDF文件操作的详细教程-腾讯云开发者社区-腾讯云

pythonCopy codeimport PyPDF2

def extract_text(pdf_file):
    with open(pdf_file, 'rb') as file:
        pdf_reader = PyPDF2.PdfFileReader(file)
        text = ''

        for page_num in range(pdf_reader.numPages):
            text += pdf_reader.getPage(page_num).extractText()

    return text

# 使用示例
pdf_file = 'sample.pdf'
text_content = extract_text(pdf_file)
print(text_content)

这段代码定义了一个名为 extract_text 的函数,其目的是从一个PDF文件中提取文本内容。这个函数接受一个参数 pdf_file,这个参数预期是一个字符串,表示PDF文件的路径。下面是对这段代码的详细解释:

  1. with open(pdf_file, 'rb') as file:

    这一行使用Python的with语句来打开一个文件。with语句确保文件在使用后会被正确关闭,即使在处理文件时发生异常也是如此。open函数的第一个参数pdf_file是文件路径,它由函数的输入参数提供。第二个参数'rb'是模式参数,表示以“二进制只读模式”打开文件。这是读取二进制文件(如PDF)所必需的。as file部分将打开的文件对象赋值给变量file,以便在代码块中使用。

  2. pdf_reader = PyPDF2.PdfFileReader(file)

    这一行使用PyPDF2库创建了一个PdfFileReader对象。这个对象用于读取PDF文件的内容。PyPDF2.PdfFileReaderPyPDF2库中用于解析PDF文件的类。我们将这个对象赋值给变量pdf_reader

  3. text = ''

    这里初始化一个空字符串text,它将用于累积从PDF的每一页提取的文本。

  4. for page_num in range(pdf_reader.numPages):

    这是一个for循环,它遍历pdf_reader中的所有页面。pdf_reader.numPages属性返回PDF文件中的页面总数。range函数创建一个从0开始到页面总数(不包括总数)的整数序列,每个整数代表一个页面的编号。

  5. text += pdf_reader.getPage(page_num).extractText()

    在循环内部,我们使用pdf_reader对象的getPage方法来获取当前页面(由page_num指定)。然后,我们调用extractText方法来提取当前页面的文本内容。extractText方法返回一个字符串,包含页面上的所有文本。我们使用+=操作符将这个字符串追加到text变量中。

  6. return text

    最后,当所有页面的文本都被提取并累积到text变量后,函数返回这个字符串。这意味着,函数的调用者将收到一个包含整个PDF文件文本内容的字符串。

需要注意的是,extractText方法的效果可能因PDF文件的不同而有所差异。


但是文档字数过多,全部提取会造成大量的信息冗余,因此需要截取特定字符串之间的数据

2切片提取指定文字

# 示例字符串
string = "Hello, World! This is an example string."

# 查找子字符串的索引位置
index = string.find("This is")
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值