Python 사무 자동화 교육 은 Python 으로 영수증 을 대량으로 식별 하여 Excel 표 에 입력 합 니 다.

8400 단어 PythonExcel 표
장면 설명
여기 에는 네 장의 영수증 을 예 로 들 면(천 형 이 인터넷 에서 검색 한 것)영수증 사진 을 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.세무서 영수증 조회

마찬가지 로 이 그림 을 예 로 들 어 검 사 를 진행 하 다.

정 보 를 작성 하고 검 사 를 클릭 하면 결 과 는 다음 과 같 습 니 다.

재 세무서 의 검사 가 더욱 뚜렷 하 다.독 자 는 자신의 상황 에 따라 자신의 방식 을 선택 하여 검사 할 수 있다.
소결
본 고 는 기본적으로 목표 요 구 를 성공 적 으로 실현 하 였 는데,효과 로 볼 때 여전히 매우 좋다!전체 소스 코드 는 글 의 코드 로 조합 할 수 있 습 니 다.(이미 모두 글 에 공유 되 었 습 니 다)관심 이 있 는 독 자 는 스스로 시도 할 수 있 습 니 다!
꼭 해 보 세 요***!꼭 해 보 세 요***!꼭 해 봐!
마지막 으로 말 하고 싶 은 것 은 사실 본 고의 사례 는 다른 측면 에 응용 할 수 있다 는 것 이다.예 를 들 어
대량 계산 송장 금액 총결산
영수증 유형 에 따라 대량으로 분류 하 다.
........
파 이 썬 사무 자동화 에 관 한 이 교육 은 파 이 썬 으로 영수증 을 대량으로 식별 하고 엑셀 표 에 입력 하 는 글 을 여기까지 소개 합 니 다.더 많은 파 이 썬 식별 영수증 과 엑셀 표 에 입력 하 는 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 문장 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 바 랍 니 다!

좋은 웹페이지 즐겨찾기