You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将文件夹中多份PDF内容分别存入DataFrame单行单元格

解决方案

你的核心问题是原代码把所有PDF内容合并成单一文本后再分割,无法对应单个文件,且pd.read_table的用法不符合需求。直接在遍历PDF时收集每个文件的文件名和完整内容,再生成DataFrame就能解决问题。

修改后的代码:

from pathlib import Path
import fitz
import pandas as pd

# 指定PDF文件夹路径
fold = "C:/Users/talen/OneDrive/Application Development/data/ForParse/"
# 获取所有PDF文件的路径对象
pdf_files = list(Path(fold).glob("*.pdf"))

# 用于存储每个PDF的文件名和完整文本
pdf_data = []

for file in pdf_files:
    # 获取文件名
    filename = file.name
    # 读取PDF完整内容
    full_text = ""
    with fitz.open(file) as doc:
        for page in doc:
            # 拼接每页文本,保留原格式换行
            full_text += page.getText()
    # 将当前文件的信息加入列表
    pdf_data.append({"文件名": filename, "完整内容": full_text})

# 直接生成DataFrame
df = pd.DataFrame(pdf_data)
print(df)
# 可选:保存到Excel或CSV
# df.to_excel("pdf_content.xlsx", index=False)

关键修改说明

  • 不再将所有PDF内容合并成单个文本文件,而是逐个处理每个PDF,单独存储每个文件的文件名和完整文本。
  • 用列表收集每个文件的字典数据,最后直接生成DataFrame,确保每个PDF对应DataFrame的一行,其中"完整内容"列的单元格存储该PDF的全部文本。
  • 避免了使用pd.read_table带来的分割问题,无需再处理文本文件的读取逻辑,流程更直接高效。

内容的提问来源于stack exchange,提问作者Aeva

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 06:40:18