要批量提取增值税发票的关键信息并将其导出为 Excel 文件,可以使用 Python 脚本结合 pdfplumber(用于解析 PDF 内容)、pandas(用于处理数据并导出 Excel)等库来实现。以下是实现这一目标的详细步骤。
首先,需要安装所需的 Python 库:
pip install pdfplumber pandas openpyxl import pdfplumber import pandas as pd import os # 要处理的PDF文件夹路径 pdf_folder = 'path_to_your_pdf_folder' # 输出Excel文件路径 output_excel = 'output.xlsx' # 定义存储提取信息的列表 data = [] # 遍历文件夹中的所有PDF文件 for filename in os.listdir(pdf_folder): if filename.endswith('.pdf'): pdf_path = os.path.join(pdf_folder, filename) with pdfplumber.open(pdf_path) as pdf: # 假设发票信息在第一页,解析第一页内容 first_page = pdf.pages[0] text = first_page.extract_text() # 提取关键信息,下面是一些假设的示例正则表达式 invoice_number = find_value_by_keyword(text, "发票号码") invoice_date = find_value_by_keyword(text, "开票日期") buyer_name = find_value_by_keyword(text, "购买方名称") buyer_tax_id = find_value_by_keyword(text, "购买方纳税人识别号") service_name = find_value_by_keyword(text, "货物或应税劳务、服务名称") quantity = find_value_by_keyword(text, "数量") unit_price = find_value_by_keyword(text, "单价") amount = find_value_by_keyword(text, "金额") tax_rate = find_value_by_keyword(text, "税率") tax_amount = find_value_by_keyword(text, "税额") total_amount = find_value_by_keyword(text, "价税合计") seller_name = find_value_by_keyword(text, "销售方名称") seller_tax_id = find_value_by_keyword(text, "销售方纳税人识别号") # 将提取的信息添加到列表中 data.append({ "PDF文件名": filename, "发票号码": invoice_number, "开票日期": invoice_date, "购买方名称": buyer_name, "购买方纳税人识别号": buyer_tax_id, "服务名称": service_name, "数量": quantity, "单价": unit_price, "金额": amount, "税率": tax_rate, "税额": tax_amount, "价税合计": total_amount, "销售方名称": seller_name, "销售方纳税人识别号": seller_tax_id }) # 将数据导出到Excel df = pd.DataFrame(data) df.to_excel(output_excel, index=False) print(f"提取完成,结果已保存到 {output_excel}") def find_value_by_keyword(text, keyword): # 定义一个简单的提取函数,实际需要根据发票格式调整 lines = text.split('\n') for i, line in enumerate(lines): if keyword in line: return line.replace(keyword, '').strip() return "" os.listdir 遍历指定文件夹中的所有 PDF 文件。pdfplumber 打开并读取 PDF 内容,假设发票内容位于第一页。find_value_by_keyword 函数从文本中提取关键信息,该函数可以根据实际情况调整正则表达式。将脚本保存为 .py 文件,修改 pdf_folder 路径为你的 PDF 文件夹路径,运行脚本后,提取的信息将会被导出为一个 Excel 文件。