這篇文章將展示如何使用 Python 調用百度 OCR 表格識別接口,批量處理目錄下所有圖片,自動識別表格并生成與圖片同名的 Excel 文件。適用于文檔掃描、圖片表格整理、圖像歸檔等場景。
1?? 批量獲取所有待識別圖片路徑
使用 os.walk()
遍歷指定目錄及子目錄,將所有圖片路徑加入 pictures
列表:
import oswork_path = "圖片\\"
pictures = []for root, dirs, files in os.walk(work_path):paths = [os.path.join(root, name) for name in files]pictures.extend(paths)
os.walk()
支持遍歷子目錄;將完整路徑保存在列表中,后續批量處理更方便。
2?? 調用百度 AipOcr 表格異步接口識別圖片
from aip import AipOcr
import time, requestsclient = AipOcr(APP_ID, API_KEY, SECRET_KEY)for picture in pictures:img = open(picture, 'rb').read()table = client.tableRecognitionAsync(img)req_id = table['result'][0]['request_id']# 等待識別完成result = client.getTableRecognitionResult(req_id)while result['result']['ret_msg'] != '已完成':time.sleep(2)result = client.getTableRecognitionResult(req_id)download_url = result['result']['result_data']excel_name = f"{os.path.splitext(picture)[0]}.xls"resp = requests.get(download_url)with open(excel_name, 'wb') as f:f.write(resp.content)
?
使用
tableRecognitionAsync()
異步調用,適合處理表格類圖片 cloud.baidu.com+7ai.baidu.com+7blog.csdn.net+7zhuanlan.zhihu.com+1blog.csdn.net+1;使用
getTableRecognitionResult()
查詢狀態,循環等待識別完成;下載自動生成的 Excel,文件名統一,方便查看。
3?? 📌 實時監控進度提示(補充建議)
為了批量處理時能實時了解進展,可添加進度條提示:
import tqdmfor picture in tqdm.tqdm(pictures, desc="識別進度"):...
tqdm
是 Python 終端常用的美觀進度條庫。
🖼? 結果展示區
? 使用心得與注意點
項目 | 說明 |
---|---|
免費額度 | 表格 OCR 每日免費次數有限 learn.microsoft.com+2blog.csdn.net+2cnblogs.com+2 |
異步獲取 | 使用了百度 OCR 異步接口高效處理表格 |
質量控制 | 對復雜圖片識別效果可能有差異,可添加錯誤重試機制 |
擴展建議 | 支持批量重命名文件、錯誤日志保存、Excel 自動合并 |
🔧 下一步擴展方向
增加壓縮與縮略圖處理功能,提前調整圖片大小再上傳;
識別結果整理與入庫,批量導入數據庫、合并匯總表;
加入 GUI 界面,方便非編程用戶操作;
處理多種 OCR 模式,如通用文字識別、銀行卡識別等。
??更多實用案例,代碼,素材如下:
自取鏈接:https://pan.quark.cn/s/a46f30accea2
如果你對這篇批量識別實用腳本滿意,可以點贊收藏 ?,并歡迎告訴我你想做的新功能或場景,我可以繼續幫你完善這套自動化工具!
?
?
?