在学院做助管时,某老师布置了任务:将1000+个PDF文件的指定内容整理到一个Excel中。为了防止在逐个打开复制粘贴的过程中猝死,尝试编写代码简化此问题。实现的功能主要是将每个PDF的信息分别提取到Excel中的每一行。
需要的模块比较少。
import os
import pdfplumber #解析pdf文件,尤其带有表格的文件
from openpyxl import Workbook #读写Excel的文件
提取PDF信息的函数。
def parse(pdf):
targets = [] #保存结果,
for page in pdf.pages:
words = page.extract_words(x_tolerance=5)
for word in words:
targets.append(word['text'])
return targets
#print(targets)
导出至Excel的函数。
def save(targets, out_path, number, sheet_name='targets'):
ws.title = sheet_name
ws._current_row=number
ws.append(targets)
print(ws)
#ws.append(list(targets.values()))
wb.save(out_path)
PDF遍历函数。
def pdfFilesPath(pa