Python 批量将 PDF 文件转换为 TXT 文件 - 代码示例及解释
以下是将所有 pdf 文件转化为 txt 文件的 Python 代码:
import os
import glob
import PyPDF2
input_folder = 'D:\南巢\第六学期\大数据与会计分析\贵州茅台财务分析\年报'
output_folder = 'D:\南巢\第六学期\大数据与会计分析\贵州茅台财务分析\年报'
for pdf_file in glob.glob(os.path.join(input_folder, '*.pdf')):
with open(pdf_file, 'rb') as f:
pdf_reader = PyPDF2.PdfFileReader(f)
for i in range(pdf_reader.getNumPages()):
page = pdf_reader.getPage(i)
text = page.extractText()
output_file = os.path.splitext(os.path.basename(pdf_file))[0] + '_' + str(i+1) + '.txt'
with open(os.path.join(output_folder, output_file), 'w', encoding='utf-8') as f:
f.write(text)
代码的具体解释:
os模块是 Python 中用于处理文件和目录的模块。glob模块是 Python 中用于查找符合特定规则的文件路径名的模块。PyPDF2是 Python 中用于处理 PDF 文件的模块。input_folder存储要转换的 PDF 文件所在的文件夹路径。output_folder存储转换后的 txt 文件所在的文件夹路径。glob.glob(os.path.join(input_folder, '*.pdf'))用于查找input_folder文件夹下所有的.pdf文件。with open(pdf_file, 'rb') as f:用于打开读取二进制模式的 PDF 文件。pdf_reader = PyPDF2.PdfFileReader(f)用于创建一个 PDF 文件阅读器对象。pdf_reader.getNumPages()用于获取 PDF 文件的页数。page = pdf_reader.getPage(i)用于获取 PDF 文件的第i页。text = page.extractText()用于提取 PDF 文件的文本内容。os.path.splitext(os.path.basename(pdf_file))[0]用于获取 PDF 文件的文件名,不包括扩展名。output_file = os.path.splitext(os.path.basename(pdf_file))[0] + '_' + str(i+1) + '.txt'用于设置输出文件的文件名,格式为文件名_页码.txt。with open(os.path.join(output_folder, output_file), 'w', encoding='utf-8') as f:用于打开写入文本模式的输出文件。f.write(text)用于将提取的文本内容写入输出文件中。
原文地址: https://www.cveoy.top/t/topic/oSPu 著作权归作者所有。请勿转载和采集!