教你用Python實(shí)現(xiàn)自動(dòng)提取并收集信息的功能
一、簡(jiǎn)介
- 本功能目的在于提取收據(jù)/發(fā)票上的信息,用機(jī)器代替人的方式,提高工作效率
- 實(shí)現(xiàn)方式是通過cv2模塊截取需要的信息,調(diào)用百度的api文字識(shí)別接口

二、代碼實(shí)現(xiàn)
1.導(dǎo)入需要的庫(kù),包括百度的api接口跟cv2圖像截圖圖庫(kù)
import cv2
from aip import AipOcr
# 讀取圖片,利用imshow顯示圖片
pic = cv2.imread(r'Y:\cut\img1.png')
pic = cv2.resize(pic,None,fx = 0.5, fy = 0.5)
cv2.imshow('img',pic)
cv2.waitKey(0)
2.截取圖片,獲取需要的信息,包括以下信息
- 時(shí)間Time
- 商家business
- 商品goods
- 價(jià)格money
- 單號(hào)num
# 刪除不必要的部分
img = pic[210:500, 100:580]
# 截取各部分的文字
time = pic[400:430, 100:580]
business = pic[370:400, 100:580]
goods = pic[350:380, 100:580]
money = pic[210:300, 100:580]
num = pic[460:500, 100:580]
# 查看截取的部分是否合適
gener_name = ['time','business','goods','money','num']
excel_data = {}
pd_columns = ["a","b","c","d","e"] # 標(biāo)題




3.定義函數(shù)將截取好的圖片另存到文件夾
def shotcut_image(args):
for index in gener:
cv2.imwrite('image/{}.png'.format(args), img)
4.調(diào)用百度api接口,實(shí)現(xiàn)文字識(shí)別
# 導(dǎo)入api
AppID = '24177719'
API_Key = 'p8skmRYfHGoVGR4UU03Q5jiM'
Secret_Key = 'dyM0tzSILBZu9CFqZ7IkjWwECGaws4xo'
cilent = AipOcr(AppID,API_Key,Secret_Key)
def get_words(img_name):
with open('image/{}.png'.format(img_name), 'rb') as f:
result = cilent.basicAccurate(f.read())
return result
5.最后將信息轉(zhuǎn)為Dataframe,利用pandas的to_exccel功能,將數(shù)據(jù)放到excel里面
def convert_to_dataframe(words):
# 構(gòu)建dataframe
result = words['words_result']
for word in result:
excel_data.setdefault('a', []).append(word['words'])
# 將所有words讀取后,取出語句存入excel
def convert_to_excel():
frame = DataFrame(excel_data, columns=pd_columns)
# todo 表頭需要額外處理,這里指定不設(shè)置表頭
frame.to_excel('out.xls',index=False, header=False)

到此這篇關(guān)于教你用Python實(shí)現(xiàn)自動(dòng)提取并收集信息的功能的文章就介紹到這了,更多相關(guān)Python自動(dòng)提取收集信息功能內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python對(duì)日志進(jìn)行處理的實(shí)例代碼
本篇文章給大家分享了關(guān)于python處理日志的方法以及相關(guān)實(shí)例代碼,有興趣的朋友們學(xué)習(xí)下。2018-10-10
python中l(wèi)ambda函數(shù)詳解及用法舉例
這篇文章主要給大家介紹了關(guān)于python中l(wèi)ambda函數(shù)詳解及用法的相關(guān)資料,Lambda 函數(shù)是 Python中的匿名函數(shù),有些人將它們簡(jiǎn)稱為lambdas,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-11-11
Jmeter并發(fā)執(zhí)行Python 腳本的完整流程
這篇文章主要介紹了Jmeter并發(fā)執(zhí)行 Python 腳本的問題詳解,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-09-09
pycharm轉(zhuǎn)移緩存目錄的實(shí)現(xiàn)
Pycharm在使用過程中,Pycharm會(huì)生成大量緩存文件,而這些緩存文件默認(rèn)存儲(chǔ)在C盤的用戶目錄里面,導(dǎo)致C盤空間被占用,本文主要介紹了pycharm轉(zhuǎn)移緩存目錄,感興趣的可以了解一下2023-10-10
Python?調(diào)用GPT-3?API實(shí)現(xiàn)過程詳解
這篇文章主要為大家介紹了Python?調(diào)用GPT-3?API實(shí)現(xiàn)過程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02

