国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
批量識別增值稅發(fā)票信息并錄入Excel

一、項目背景

這個項目源于平時工作中的真實需求。

我在一家集團公司的地方分公司做財務(wù)工作,每個月會收到大量開具總部抬頭的紙質(zhì)增值稅專用發(fā)票。

那么就需要每月把總部抬頭的抵扣聯(lián)寄回認(rèn)證,要編制抵扣聯(lián)明細(xì)清單(包含發(fā)票代碼、發(fā)票號碼等字段)用于交接。

之前我一直采取手工錄入的方式,工作量大,容易出錯。

而且并沒有對公司產(chǎn)出什么實質(zhì)價值,投入產(chǎn)出比低。

經(jīng)過和「財會交流群」的小伙伴們討論,我大概找到了解決問題的方向。

但由于沒有編程基礎(chǔ),在實際操作過程中還是遇到了不少的麻煩。

最后通過人工智能技術(shù),我搜索到具體的代碼,和實施的方法。

利用國慶假期的時間,逐漸摸索出了一整套解決方案。

二、實現(xiàn)過程

下面介紹具體操作步驟:

1、準(zhǔn)備發(fā)票圖片

批量掃描發(fā)票為圖片格式(jpg、png),并將圖片存到一個文件夾里,獲取文件夾的位置。

復(fù)制這個位置(發(fā)票存放地址)備用,是第一個要素(path)。

目的:根據(jù)文件夾位置批量讀取發(fā)票圖片。

2、準(zhǔn)備百度智能云API

登錄百度智能云-管理中心,用百度賬號即可,沒有的話要先注冊下。

網(wǎng)址:

https://console.bce.baidu.com/ai/?_=1695883200127#/ai/ocr/overview/index

(1)免費領(lǐng)取資源

單擊「免費嘗鮮-去領(lǐng)取」。

服務(wù)類型選擇「財務(wù)票據(jù)OCR」,待領(lǐng)接口選擇「增值稅發(fā)票識別」,單擊左下角「0元領(lǐng)取」。

贈送了每月1000次的調(diào)用量,對于一般中小企業(yè)應(yīng)該夠用了。

領(lǐng)取之后,單擊左上角「返回」。

(2)創(chuàng)建應(yīng)用

單擊「創(chuàng)建應(yīng)用-去創(chuàng)建」。

填寫應(yīng)用名稱,接口選擇「增值稅發(fā)票識別」。

應(yīng)用歸屬選擇「個人」,填寫應(yīng)用描述,填完后單擊左下角「立即創(chuàng)建」。

(3)獲取AccessToken(訪問令牌)

在公有云服務(wù)-應(yīng)用列表中,可以獲取應(yīng)用的API Key和Secret Key,單擊復(fù)制以上兩個Key備用。

單擊「公有云服務(wù)-API在線調(diào)試」。

在「獲取AccessToken」模塊下,應(yīng)用列表選擇剛創(chuàng)建的應(yīng)用,將API key復(fù)制到client_id中,Secret Key復(fù)制到client_secret中,單擊「調(diào)試」。

調(diào)試成功后,可以在調(diào)試結(jié)果頁面的下方獲取AccessToken。

把這一長串字符串復(fù)制下來備用,這是第二個要素(access_token)。

PS:引號不用復(fù)制,只用復(fù)制引號之間的內(nèi)容。

目的:通過AccessToken(訪問令牌)使用百度智能云的「增值稅發(fā)票識別」功能識別發(fā)票圖片上的信息。

3、安裝python和pycharm

首先介紹下python和pycharm:

Python是一種易于學(xué)習(xí)、功能強大的編程語言。

Pycharm是一種用于編寫Python程序的工具軟件。

(1)安裝python

登錄官網(wǎng),下載python安裝包。

網(wǎng)址:

https://www.python.org/

在Downloads模塊下,單擊「Windows」。

選擇最新的穩(wěn)定版下載,單擊「Download Windows installer (64-bit)」。

下載完后雙擊打開安裝包。

注意!一定要勾選「add python to path」(這樣會自動配置環(huán)境變量)。

點擊「Install Now」進行安裝。

如果忘了勾選,建議卸載重新安裝(也有手動配置的方法,可以自行搜索)。

安裝完成后,單擊「Close」。

(2)安裝pycharm

在安裝pycharm之前,確保已經(jīng)按照上述方法安裝python。

登錄官網(wǎng),下載pycharm免費版安裝包。

網(wǎng)址:

https://www.jetbrains.com/pycharm/

單擊「DOWNLOAD」。

上面的版本是收費版,不要下載。

下拉網(wǎng)頁到后面,下載「Pycharm Community Edition」。

下載完后雙擊打開安裝包,單擊Next。

選擇安裝位置,單擊Next。

接著把這些選項都勾上。

單擊Install。

安裝完成后單擊Finish。

(3)開始使用Pycharm

雙擊桌面Pycharm快捷方式。

勾選接受,單擊繼續(xù)。

單擊「Don't Send」。

單擊「New Project」。

這里可以修改Location,即程序存放的文件位置,我這里由于是默認(rèn)的,沒有修改,所以后面找文件的存放位置有點麻煩。

選擇Previously configured interpreter(需要提前下載安裝好python),單擊「Add Interpreter-Add Local Interpreter」。

選擇「System Interpreter」,單擊OK。

勾選「Create a main.py」,單擊Create。

鼠標(biāo)右鍵單擊main.py,單擊「Run'main'」。

成功輸出,說明配置好了~

4、復(fù)制代碼并調(diào)試

我不是程序員,也不會寫代碼,所以參考大佬的代碼(作者ID為「2580185125路西」,CSDN博客)。

我會按照一個完全沒有編程基礎(chǔ)的財務(wù)人員的視角,來說明操作方法,可能不是最順暢的操作,但更具參考性。

具體步驟如下:

(1)復(fù)制代碼

鼠標(biāo)右鍵單擊pythonProject,單擊「New-Python File」,命名為「批量識別增值稅發(fā)票信息并錄入Excel」,單擊回車。

將以下代碼復(fù)制到「批量識別增值稅發(fā)票信息并錄入Excel.py」中。

# encoding:utf-8
import requestsimport base64import osimport xlwt'''增值稅發(fā)票識別'''# 獲取發(fā)票正文內(nèi)容def get_context(pic): # print('正在獲取圖片正文內(nèi)容!') data = {} try: request_url = "https://aip.baidubce.com/rest/2.0/ocr/v1/vat_invoice" # 二進制方式打開圖片文件 f = open(pic, 'rb') img = base64.b64encode(f.read()) params = {"image":img}
# 這里需要替換成自己的access_token access_token = '你的access_token'
request_url = request_url + "?access_token=" + access_token headers = {'content-type': 'application/x-www-form-urlencoded'} response = requests.post(request_url, data=params, headers=headers) if response: # print (response.json()) json1 = response.json() data['SellerRegisterNum'] = json1['words_result']['SellerRegisterNum'] data['InvoiceDate'] = json1['words_result']['InvoiceDate'] data['PurchasserName'] = json1['words_result']['PurchaserName'] data['SellerName'] = json1['words_result']['SellerName'] data['AmountInFiguers'] = json1['words_result']['AmountInFiguers'] # print(data['AmountInFiguers']) # print('正文內(nèi)容獲取成功!') return data
except Exception as e: print(e) return data
# 定義生成圖片路徑的函數(shù)def pics(path): print('正在生成圖片路徑') #生成一個空列表用于存放圖片路徑 pics = [] # 遍歷文件夾,找到后綴為jpg和png的文件,整理之后加入列表 for filename in os.listdir(path): if filename.endswith('jpg') or filename.endswith('png'): pic = path + '/' + filename pics.append(pic) print('圖片路徑生成成功!') return pics# 定義一個獲取文件夾內(nèi)所有文件正文內(nèi)容的函數(shù),每次返回一個字典,把返回的所有字典存放在一個列表里def datas(pics): datas = [] for p in pics: data = get_context(p) datas.append(data) return datas
# 定義一個寫入將數(shù)據(jù)excel表格的函數(shù)def save(datas): print('正在寫入數(shù)據(jù)!') book = xlwt.Workbook(encoding='utf-8', style_compression=0) sheet = book.add_sheet('增值稅發(fā)票內(nèi)容登記', cell_overwrite_ok=True) # 設(shè)置表頭,這里可以根據(jù)自己的需求設(shè)置,我這里設(shè)置了5個 title = ['開票日期', '納稅人識別號', '購買方名稱', '賣方名稱', '購買金額'] for i in range(len(title)): sheet.write(0, i, title[i]) for d in range(len(datas)): for j in range(len(title)): sheet.write(d + 1, 0, datas[d]['InvoiceDate']) sheet.write(d + 1, 1, datas[d]['SellerRegisterNum']) sheet.write(d + 1, 2, datas[d]['PurchasserName']) sheet.write(d + 1, 3, datas[d]['SellerName']) sheet.write(d + 1, 4, datas[d]['AmountInFiguers']) print('數(shù)據(jù)寫入成功!') book.save('增值稅發(fā)票.xls')
def main(): print('開始執(zhí)行?。。?) # 這是你發(fā)票的存放地址,自行更改 path = 'D:/fapiao' Pics = pics(path) Datas = datas(Pics) save(Datas) print('執(zhí)行結(jié)束!')

if __name__ == '__main__': main()

效果如下:

(2)修改代碼

代碼里修改一下發(fā)票存放地址path和訪問令牌access_token。

將代碼中「D:/fapiao」替換為發(fā)票存放地址,即第一個要素。

注意!我復(fù)制的文件夾地址是「D:\發(fā)票掃描件」,但是要替換成「D:/發(fā)票掃描件」,斜杠的符號不同。

將代碼中「你的access_token」替換為之前復(fù)制的一長串字符串,即第二個要素。

這里用我自己的access_token舉例:

(3)調(diào)試代碼

經(jīng)過以上兩個步驟,按理說只要運行這個程序,就可以實現(xiàn)批量識別發(fā)票并錄入Excel的功能。

讓我們試試,鼠標(biāo)右鍵單擊這個程序,單擊Run,運行看看。

果然,沒這么簡單,顯示報錯!

怎么解決呢?

作為一名財務(wù),我一頭霧水。

突然靈機一動,想起了人工智能AI,問問它說不定能解決。

馬上試試!

先把所有代碼都復(fù)制進去,直接發(fā)送給AI,看看他說啥。

回答的有鼻子有眼的,把報錯的代碼發(fā)給它看看。

按照它說的方法試試。

首先,打開命令行窗口,按Win+R,輸入cmd,單擊回車。

在命令行窗口輸入「pip install requests」,單擊回車。

安裝完成。

問題解決,再次運行試試。

再次報錯!

再次求助AI,復(fù)制報錯的代碼發(fā)給它。

按它說的試試,打開命令行窗口,輸入「pip install xlwt」。

安裝完成,關(guān)閉命令行窗口。

問題解決,再次運行試試。

見證奇跡的時刻,運行成功,喜大普奔!

可是生成的Excel文件在哪里呢?

鼠標(biāo)右鍵單擊「Pythonproject」文件夾,選擇Copy Path(復(fù)制路徑)。

單擊「Absolute Path」。

復(fù)制路徑后粘貼到文件資源管理器的地址欄中,單擊回車。

成功找到生成的Excel文件,雙擊打開看看。

完美實現(xiàn)批量識別增值稅發(fā)票信息并錄入Excel!

5、自定義導(dǎo)出的發(fā)票信息

雖然已經(jīng)成功識別并錄入Excel,但如果我想提取其他信息(比如發(fā)票號碼)怎么辦呢?

OK!可以實現(xiàn)~

百度智能云返回的字段很豐富,可以按需取用。

下面示范一下如何導(dǎo)出購方名稱、發(fā)票代碼和發(fā)票號碼三個字段的信息:

(1)查找字段參數(shù)名稱

網(wǎng)址:

https://cloud.baidu.com/doc/OCR/s/nk3h7xy2t

在文檔中查找購方名稱、發(fā)票代碼和發(fā)票號碼三個字段的參數(shù)名稱。

(2)修改代碼

只需將發(fā)票代碼「InvoiceCode」、發(fā)票號碼「InvoiceNum」和購方名稱「PurchaserName」三個字段的參數(shù)名稱復(fù)制粘貼到代碼中相應(yīng)位置即可。

注意把Excel文件的表頭也要修改成「發(fā)票代碼」「發(fā)票號碼」和「購方名稱」。

(3)運行程序

修改完成,試試效果如何,單擊Run。

運行成功,打開增值稅發(fā)票.xls看看(這次運行后我發(fā)現(xiàn)把上次運行生成的Excel文件覆蓋了)。

非常完美!

6、最后幾點注意事項

(1)每個AccessToken有30天的使用時間,如果失效了,需要重新生成(參照上文第一次獲取時的方法即可)。我的還沒過30天,目前沒有失效,所以也沒親自試過,但應(yīng)該是可行的。

(2)目前支持識別的發(fā)票格式有jpg/jpeg/png/bmp、PDF、OFD等。這次只演示了圖片格式。

(3)這個小項目做完之后,大家可以自行探索更多的項目,比如百度智能云的其他功能,結(jié)合python實現(xiàn)。

三、項目效果

按照上述方法,就可以實現(xiàn)批量識別增值稅發(fā)票信息并錄入Excel,只需提供發(fā)票文件夾位置(path)和百度智能云API(access_token)兩個要素。

如需導(dǎo)出其他信息,稍作修改即可。

一次配置,反復(fù)使用,方法相對簡單易行。

四、經(jīng)驗總結(jié)

1、為了提高效率,要盡量去掉工作中不增加價值的中間環(huán)節(jié)。

2、解決這個問題的具體方法不重要,比如隨著電子專票的推廣,很多問題會自然消失。

3、但是解決問題的思路很重要,要做到標(biāo)準(zhǔn)化、流程化和自動化,尤其是一些機械的事務(wù)性工作。

3、不要有畏難情緒,確定好目標(biāo)后努力去實現(xiàn),很多東西不會就去學(xué)習(xí),在實踐中學(xué)習(xí)才是最高效的。

4、學(xué)習(xí)的方法無非就是從書中學(xué),和高人聊,在事上練。

5、人工智能的發(fā)展能夠有效地幫助我們解決工作中的實際問題,比如我沒有編程基礎(chǔ),但也能利用AI技術(shù)實現(xiàn)想要的功能。

今天就到這,希望以后有機會分享更多實際工作中的小項目,幫助到有需要的小伙伴。


參考資料:python實現(xiàn)批量增值稅發(fā)票文字識別(ocr),并寫入excel表格-作者2580185125路西

網(wǎng)址:

https://blog.csdn.net/m0_49710816/article/details/122743651

END

我是白明銳,全網(wǎng)同名,
在公眾號、知乎、知識星球,
持續(xù)更新內(nèi)容。
糾結(jié)是否關(guān)注的
先進 免費星球。

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Python創(chuàng)建自己的聊天機器人
Python獲取直播主播照片, 實現(xiàn)顏值檢測, 進行排名~
受用一生的高效 PyCharm 使用技巧(七)
增值稅電子普票查重,一個Excel就可以搞定
如何將百度云做成網(wǎng)站文件服務(wù)器
淘淘商城8.9
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服