我们的工作内容是对上市公司的定期公告进行分析。
其中一环节是对大量的pdf格式的文件进行文本处理。
此次的示例,是随机选中的文本内容,共计344个pdf格式文件。
分析过程中对图片图表的需求并不大,将pdf批量转换成txt文本内容已经满足。如果考虑格式以及图片的读取,可以使用Python将pdf转csv、Word。
使用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}")
344个pdf文件很迅速就可以转为txt文本
工作导向不同,工作流程会存在差异,需要读取pdf文件中的图片,相关Python库可以使用将图像中的文字识别为文本进行导出。