Python 사무 자동화 교육 은 Python 으로 영수증 을 대량으로 식별 하여 Excel 표 에 입력 합 니 다.
여기 에는 네 장의 영수증 을 예 로 들 면(천 형 이 인터넷 에서 검색 한 것)영수증 사진 을 pic 폴 더 아래 에 놓는다.
영수증 한 장 을 마음대로 열다.
추출 목표:금액,명칭,납세자 식별 번호,개표 인.
마지막 으로 모든 영수증 의 이 네 가지 내용 을 엑셀 에 저장 합 니 다.
준비 환경
필요 한 라 이브 러 리 는 다음 과 같 습 니 다.
from PIL import Image as PI
import pyocr
import pyocr.builders
from cnocr import CnOcr
설치 명령 은 다음 과 같 습 니 다:
pip install pyocr
pip install cnocr
영수증 에 중국어 내용 이 포함 되 어 있 습 니 다.우 리 는 그림 속 의 중국 어 를 식별 해 야 합 니 다.그러면 cnc 는 좋 은 선택 입 니 다.알림:위의 라 이브 러 리 를 설치 하 는 것 외 에 추가 exe 파일 을 설치 해 야 합 니 다.그렇지 않 으 면 다음 과 같은 오류 가 발생 할 수 있 습 니 다.
설치 할 exe 파일:
1. ImageMagick
2. tesseract-OCR
이 두 소프트웨어 의 설치 과정 은 더 이상 군말 하지 않 고,모두 스스로 튜 토리 얼 을 검색 하여 설치 할 수 있다.
3.추출 내용
다음은 그 중의 한 장의 사진 을 예 로 들 어 목표 내용 을 어떻게 추출 하 는 지 설명 한다.금액,명칭,납세자 식별 번호,개표 자.
그림 읽 기:pic/pic1.jpg
tool = pyocr.get_available_tools()[0]
img_url = "pic/pic1.jpg"
with open(img_url, 'rb') as f:
a = f.read()
new_img = PI.open(io.BytesIO(a))
1.인출 금액영수증 에 있 는 금액 의 위 치 를 캡 처 해 야 합 니 다.
##
left = 741
top = 420
right = 850
bottom = 445
image_text1 = new_img.crop((left, top, right, bottom))
#
image_text1.show()
이곳 의 left,top,right,bottom 의 수 치 는 여러 번 포 지 셔 닝 을 수정 한 것 입 니 다.여러분 은 자신의 영수증 내용 에 따라 위 치 를 정 하면 됩 니 다.이어서 그림 속 의 숫자 를 추출 하 다
같은,다음 계속 추출:이름
2.이름 추출
left = 155
top = 450
right = 450
bottom = 470
image_obj2 = new_img.crop((left, top, right, bottom))
image_obj2.show()
이곳 의 명칭 은 중국어 입 니 다.우 리 는 더 이상 인출 금액(숫자)처럼 조작 할 수 없습니다.cnocr 에 사용 하여 그림 속 의 중국 어 를 꺼 내야 합 니 다.
image_obj2.save("tmp.jpg")
ocr = CnOcr()
res = ocr.ocr("tmp.jpg")
print("".join(res[0]))
3.납세자 식별 번호 추출
#
left = 155
top = 470
right = 450
bottom = 490
image_text3 = new_img.crop((left, top, right, bottom))
#
image_text3.show()
txt3 = tool.image_to_string(image_text3)
print(txt3)
사진 속 납세자 식별 번 호 를 추출 한 결 과 는 다음 과 같다.4.개표 인 인출
left = 528
top = 550
right = 670
bottom = 600
image_obj4 = new_img.crop((left, top, right, bottom))
image_obj4.show()
image_obj4.save("tmp.jpg")
ocr = CnOcr()
res = ocr.ocr("tmp.jpg")
print("".join(res[0]))
중국어 가 있 기 때문에,여기 도 추출 이름과 마찬가지 로,cnocr 를 사용 하여 그림 속 의 중국 어 를 추출 합 니 다.ok 이렇게 하면 우 리 는 영수증 중의 네 가지 목표 내용 을 추출 한 다음 에 폴 더 pic 의 모든 영수증 을 식별 하여 내용 을 엑셀 에 저장 합 니 다.
4.영수증 을 대량으로 식별 하여 엑셀 에 저장 합 니 다.
그림 을 읽 기 전에 위의 네 가지 조작 을 함수 로 밀봉 하여 모든 영수증 대상 이 호출 하 는 데 편리 합 니 다.
폴 더 의 모든 그림 을 읽 습 니 다.
filePath = 'pic'
pic_name = []
for i,j,name in os.walk(filePath):
pic_name = name
for i in pic_name:
print(i)
식별 을 시작 하고 결 과 를 엑셀 에 기록 합 니 다.
for i in pic_name:
img_url = filePath+"/"+i
with open(img_url, 'rb') as f:
a = f.read()
new_img = PI.open(io.BytesIO(a))
## csv
outws.cell(row=count, column=1, value=text2(new_img))
outws.cell(row=count, column=2, value=text3(new_img))
outws.cell(row=count, column=3, value=text1(new_img))
outws.cell(row=count, column=4, value=text4(new_img))
count = count + 1
outwb.save(" - .xls") #
마지막 으로 저장:영수증 집계-이 운 진 xls,그 결 과 는 다음 과 같 습 니 다.5.영수증 이 진 위 를 검증 합 니 다.
천 형의 커 뮤 니 케 이 션 그룹 에서 파트너 와 이 내용 을 이야기 할 때 파트너 는 영수증 으로 진 위 를 검증 하 는 기능 을 추가 할 것 을 제안 했다.
위 에서 식별 을 시작 하기 전에(자사 의 영수증 은 이 단 계 를 검사 할 필요 가 없 을 수도 있 습 니 다)먼저 제3자 의 인 터 페 이 스 를 호출 하여 영수증 을 식별 하고 통과 한 후에 영수증 의 목표 내용 을 추출 합 니 다.
1.바 이 두 AI 앱 신청
2.토 큰 가 져 오기
# client_id AK, client_secret SK
host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=【 AK】&client_secret=【 SK】'
response = requests.get(host)
if response:
print(response.json()['access_token']
여기 clientid 홈 페이지 에서 가 져 온 AK,client시 크 릿 이 홈 페이지 를 위해 획득 한 SK 는 위 에서 앱 을 신청 하면 획득 할 수 있 습 니 다.3.검사
우 리 는 이 사진 을 예 로 들 어 검 사 를 진행 합 시다.
그 중의 영수증 유형 은 다음 과 같다.
결 과 는 다음 과 같다.
이 결 과 는 조회 가 좋 지 않 은 것 같 습 니 다.다음은 세무서 에 가서 도 조회 할 수 있다.
4.세무서 영수증 조회
마찬가지 로 이 그림 을 예 로 들 어 검 사 를 진행 하 다.
정 보 를 작성 하고 검 사 를 클릭 하면 결 과 는 다음 과 같 습 니 다.
재 세무서 의 검사 가 더욱 뚜렷 하 다.독 자 는 자신의 상황 에 따라 자신의 방식 을 선택 하여 검사 할 수 있다.
소결
본 고 는 기본적으로 목표 요 구 를 성공 적 으로 실현 하 였 는데,효과 로 볼 때 여전히 매우 좋다!전체 소스 코드 는 글 의 코드 로 조합 할 수 있 습 니 다.(이미 모두 글 에 공유 되 었 습 니 다)관심 이 있 는 독 자 는 스스로 시도 할 수 있 습 니 다!
꼭 해 보 세 요***!꼭 해 보 세 요***!꼭 해 봐!
마지막 으로 말 하고 싶 은 것 은 사실 본 고의 사례 는 다른 측면 에 응용 할 수 있다 는 것 이다.예 를 들 어
대량 계산 송장 금액 총결산
영수증 유형 에 따라 대량으로 분류 하 다.
........
파 이 썬 사무 자동화 에 관 한 이 교육 은 파 이 썬 으로 영수증 을 대량으로 식별 하고 엑셀 표 에 입력 하 는 글 을 여기까지 소개 합 니 다.더 많은 파 이 썬 식별 영수증 과 엑셀 표 에 입력 하 는 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 문장 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Python의 None과 NULL의 차이점 상세 정보그래서 대상 = 속성 + 방법 (사실 방법도 하나의 속성, 데이터 속성과 구별되는 호출 가능한 속성 같은 속성과 방법을 가진 대상을 클래스, 즉 Classl로 분류할 수 있다.클래스는 하나의 청사진과 같아서 하나의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.