用Python将PDF格式转为txt格式文本

微信图片_20240321160253.png

微信截图_20240321145558.png

我们的工作内容是对上市公司的定期公告进行分析。

其中一环节是对大量的pdf格式的文件进行文本处理。

此次的示例,是随机选中的文本内容,共计344个pdf格式文件。

分析过程中对图片图表的需求并不大,将pdf批量转换成txt文本内容已经满足。如果考虑格式以及图片的读取,可以使用Python将pdf转csv、Word。

微信截图_20240321144958.png

使用Python调用pdfplumber库,将将PDF格式转为txt格式文本。

首先安装pdfplumber库:

pip install pdfplumber

使用以下Python脚本来遍历指定文件夹中的所有PDF文件,将它们转换为TXT格式,并保存在一个新的文件夹:
import os
import pdfplumber

源文件夹路径

source_folder = "D:\daku\东鹏\pdf"

目标文件夹路径,用于保存TXT文件

target_folder = "D:\daku\东鹏\txt_exports"

如果目标文件夹不存在,则创建它

if not os.path.exists(target_folder):
os.makedirs(target_folder)

遍历源文件夹中的所有文件

for filename in os.listdir(source_folder):
if filename.endswith(".pdf"):
# 构建完整的文件路径
file_path = os.path.join(source_folder, filename)

    # 使用pdfplumber打开PDF文件
    with pdfplumber.open(file_path) as pdf:
        # 初始化一个空字符串来保存文本内容
        text = ""

        # 遍历PDF中的每一页
        for page in pdf.pages:
            # 提取页面的文本并添加到text变量中
            text += page.extract_text()
            text += "\n\n"  # 添加换行符以分隔不同页面的内容

    # 构建目标TXT文件的路径,文件名保持不变,只是扩展名改为.txt
    txt_file_path = os.path.join(target_folder, filename.replace(".pdf", ".txt"))

    # 将文本内容写入TXT文件
    with open(txt_file_path, "w", encoding="utf-8") as txt_file:
        txt_file.write(text)

    print(f"已转换文件: {filename} -> {txt_file_path}")
微信截图_20240321152334.png

344个pdf文件很迅速就可以转为txt文本

微信截图_20240321152316.png
微信截图_20240321152334.png

工作导向不同,工作流程会存在差异,需要读取pdf文件中的图片,相关Python库可以使用将图像中的文字识别为文本进行导出。


thank-you-emoticon-41.jpg
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容