使用PyPDF2将PDF逐页转换为TXT并分段存储

1 下载量 182 浏览量 更新于2024-09-02 收藏 62KB PDF 举报
PyPDF2是一个Python库,用于处理PDF文档,主要关注PDF文件的读取和操作。在这个特定的实例中,作者展示了一个如何使用PyPDF2将PDF文件中的文本内容逐页提取并保存到本地TXT文件中的方法。整个过程分为以下几个步骤: 1. 导入所需库:首先,从`PyPDF2.pdf`模块导入`PdfFileReader`类,这是PyPDF2用于处理PDF文件的核心类。同时,引入了`pandas`库,以便后续处理和存储数据。 2. 定义函数`Pdf_to_txt(pdf)`:这个函数接收一个PDF对象(由`PdfFileReader`创建),然后遍历PDF的每一页。对于每一页,它调用`getPage(i).extractText()`方法来获取页面上的文本。 3. 分割文本:提取的文本被分割成多行(`text = extractedText.split('\n')`),这里假设每行代表一个单独的数据单元。为了组织这些数据,作者将每8行划分为一组,并分别存储在不同的列表(`title`, `lin1`至`lin8`)中。 4. 数据结构化:通过循环控制变量`num`,将文本行根据顺序(标题、第一行至第八行)分配到对应的列表。当达到8行后,将当前的数据打包成一个字典,键为列名(如'Lin1'至'Lin8'),值为对应行的内容。 5. 将数据写入CSV:创建一个DataFrame,将数据字典转换为表格形式,然后设置文件名(包括页码)并保存为CSV文件。CSV文件的路径是固定的,`'tool/pdf解析/%s.txt' % file_name`,其中`%s`被实际的文件名替换,且使用`\t`作为分隔符。 6. 主函数入口:在`if __name__ == '__main__':`部分,表明这是一个可以独立运行的脚本,可以直接作为命令行工具使用。 总结来说,这段代码展示了如何使用PyPDF2库处理PDF文件,提取文本内容,然后按照预定义的结构进行存储。这对于批量处理包含结构化信息的PDF文档,如报告、表格等非常有用。通过这种方式,我们可以轻松地提取和分析PDF文件的内容,而无需依赖PDF阅读器的其他复杂功能。