当前位置: 首页 > news >正文

python读取pdf内容写入到Excel表格中

要从每个 PDF 文件中提取全文内容,并将这些内容粘贴到一个新的或现有的表格中,你可以使用 Python 的库来完成这一任务。以下是一个简化的步骤和示例代码,展示如何实现这个过程。

步骤概述

  1. 读取文件夹中的所有 PDF 文件
  2. 提取每个 PDF 文件的全文内容
  3. 创建一个新的 Excel 表格使用现有的表格
  4. 将提取的内容粘贴到表格中,每个 PDF 的内容放在一个垂直单元格中。
  5. 保存表格文件

所需库

  • PyMuPDF(用于提取 PDF 内容)
  • pandas(用于处理和保存表格数据)
  • openpyxl(用于创建和修改 Excel 文件)

示例代码

import fitz  # PyMuPDF
import pandas as pd
import osdef extract_text_from_pdf(pdf_path):"""从 PDF 文件中提取文本"""text = ""pdf_document = fitz.open(pdf_path)for page_num in range(pdf_document.page_count):page = pdf_document.load_page(page_num)text += page.get_text()pdf_document.close()return textdef process_pdfs_to_excel(pdf_folder, excel_path):"""将 PDF 文件夹中的文本提取到 Excel 表格中"""pdf_files = [f for f in os.listdir(pdf_folder) if f.lower().endswith('.pdf')]pdf_texts = []for pdf_file in pdf_files:pdf_path = os.path.join(pdf_folder, pdf_file)pdf_text = extract_text_from_pdf(pdf_path)pdf_texts.append(pdf_text)# 创建 DataFramedf = pd.DataFrame(pdf_texts, columns=["Content"])# 保存到 Exceldf.to_excel(excel_path, index=False)# 示例使用
pdf_folder = 'path/to/your/pdf/folder'
excel_path = 'path/to/your/output/excel_file.xlsx'
process_pdfs_to_excel(pdf_folder, excel_path)

代码解释

  1. extract_text_from_pdf:从 PDF 文件中提取所有页面的文本。使用 PyMuPDF 库来打开和读取 PDF 文件的内容。
  2. process_pdfs_to_excel:遍历指定文件夹中的所有 PDF 文件,提取内容并将其存储在 pandas DataFrame 中。然后将 DataFrame 保存为 Excel 文件。
  3. pdf_folderexcel_path:分别是包含 PDF 文件的文件夹路径和输出的 Excel 文件路径。

注意事项

  • 确保安装所需的库。可以通过以下命令安装:
    pip install pymupdf pandas openpyxl
    
  • 根据实际需要,调整代码中 pdf_folderexcel_path 的路径。

总结

以上代码可以帮助你从 PDF 文件夹中提取内容并将其导出到一个 Excel 文件中,每个 PDF 的内容放在 Excel 文件的一列中,方便进一步处理和分析。


http://www.mrgr.cn/news/21779.html

相关文章:

  • 基于JSP的实验室管理系统
  • OpenCV图像分割教程
  • java实现,PDF转换为TIF
  • 双指针(5)_单调性_有效三角形的个数
  • | ^
  • 快速排序的深入优化探讨
  • 『功能项目』战士的A键连击【33】
  • 嵌入式面试经典30问:二
  • 孤儿进程、僵尸进程、守护进程(精灵进程)
  • 【内网】ICMP出网ew+pingtunnel组合建立socks5隧道
  • Open-Sora代码详细解读(1):解读DiT结构
  • CP AUTOSAR标准之EthernetInterface(AUTOSAR_SWS_EthernetInterface)(更新中……)
  • 数字逻辑设计基础
  • HTB-You know 0xDiablos
  • 在Unity环境中使用UTF-8编码
  • Kafka命令
  • 通信工程学习:什么是AM标准调幅
  • 【YOLO 系列】基于YOLOV8的智能花卉分类检测系统【python源码+Pyqt5界面+数据集+训练代码】
  • 使用亚马逊Bedrock的Stable Diffusion XL模型实现文本到图像生成:探索AI的无限创意
  • LabVIEW中Request Deallocation 功能