做網(wǎng)站被騙了怎么辦搭建網(wǎng)站工具
要批量提取增值稅發(fā)票的關鍵信息并將其導出為 Excel 文件,可以使用 Python 腳本結(jié)合 pdfplumber
(用于解析 PDF 內(nèi)容)、pandas
(用于處理數(shù)據(jù)并導出 Excel)等庫來實現(xiàn)。以下是實現(xiàn)這一目標的詳細步驟。
1. 環(huán)境設置
首先,需要安裝所需的 Python 庫:
pip install pdfplumber pandas openpyxl
2. 編寫 Python 腳本
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:# 假設發(fā)票信息在第一頁,解析第一頁內(nèi)容first_page = pdf.pages[0]text = first_page.extract_text()# 提取關鍵信息,下面是一些假設的示例正則表達式invoice_number = find_value_by_keyword(text, "發(fā)票號碼")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, "數(shù)量")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,"發(fā)票號碼": invoice_number,"開票日期": invoice_date,"購買方名稱": buyer_name,"購買方納稅人識別號": buyer_tax_id,"服務名稱": service_name,"數(shù)量": quantity,"單價": unit_price,"金額": amount,"稅率": tax_rate,"稅額": tax_amount,"價稅合計": total_amount,"銷售方名稱": seller_name,"銷售方納稅人識別號": seller_tax_id})# 將數(shù)據(jù)導出到Excel
df = pd.DataFrame(data)
df.to_excel(output_excel, index=False)print(f"提取完成,結(jié)果已保存到 {output_excel}")def find_value_by_keyword(text, keyword):# 定義一個簡單的提取函數(shù),實際需要根據(jù)發(fā)票格式調(diào)整lines = text.split('\n')for i, line in enumerate(lines):if keyword in line:return line.replace(keyword, '').strip()return ""
3. 腳本說明
- PDF文件名: 使用
os.listdir
遍歷指定文件夾中的所有 PDF 文件。 - PDF解析: 使用
pdfplumber
打開并讀取 PDF 內(nèi)容,假設發(fā)票內(nèi)容位于第一頁。 - 關鍵字提取: 使用
find_value_by_keyword
函數(shù)從文本中提取關鍵信息,該函數(shù)可以根據(jù)實際情況調(diào)整正則表達式。 - 數(shù)據(jù)存儲: 將提取的信息存儲在列表中,最后將列表轉(zhuǎn)換為 DataFrame 并導出為 Excel 文件。
4. 注意事項
- 發(fā)票格式: 此示例假設發(fā)票的格式是一致的,如果格式有變動,可能需要調(diào)整關鍵字提取的邏輯。
- 正則表達式: 如果發(fā)票內(nèi)容較復雜,可以使用正則表達式進行更精準的匹配。
5. 運行腳本
將腳本保存為 .py
文件,修改 pdf_folder
路徑為你的 PDF 文件夾路徑,運行腳本后,提取的信息將會被導出為一個 Excel 文件。