以下是将所有 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)

代码的具体解释:

  1. os 模块是 Python 中用于处理文件和目录的模块。
  2. glob 模块是 Python 中用于查找符合特定规则的文件路径名的模块。
  3. PyPDF2 是 Python 中用于处理 PDF 文件的模块。
  4. input_folder 存储要转换的 PDF 文件所在的文件夹路径。
  5. output_folder 存储转换后的 txt 文件所在的文件夹路径。
  6. glob.glob(os.path.join(input_folder, '*.pdf')) 用于查找 input_folder 文件夹下所有的 .pdf 文件。
  7. with open(pdf_file, 'rb') as f: 用于打开读取二进制模式的 PDF 文件。
  8. pdf_reader = PyPDF2.PdfFileReader(f) 用于创建一个 PDF 文件阅读器对象。
  9. pdf_reader.getNumPages() 用于获取 PDF 文件的页数。
  10. page = pdf_reader.getPage(i) 用于获取 PDF 文件的第 i 页。
  11. text = page.extractText() 用于提取 PDF 文件的文本内容。
  12. os.path.splitext(os.path.basename(pdf_file))[0] 用于获取 PDF 文件的文件名,不包括扩展名。
  13. output_file = os.path.splitext(os.path.basename(pdf_file))[0] + '_' + str(i+1) + '.txt' 用于设置输出文件的文件名,格式为 文件名_页码.txt
  14. with open(os.path.join(output_folder, output_file), 'w', encoding='utf-8') as f: 用于打开写入文本模式的输出文件。
  15. f.write(text) 用于将提取的文本内容写入输出文件中。
Python 批量将 PDF 文件转换为 TXT 文件 - 代码示例及解释

原文地址: https://www.cveoy.top/t/topic/oSPu 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录