파이톤을 통해 PDF로부터 양식(camelot) - 사회보험료를 받기 위한 표준 월급 -

5988 단어 Pythoncamelot

1. 오프닝


이번 봄에 나는 새로운 사회인이 되었다.곧 다가올 월급날이 무척 기대된다.
월급에 신경을 쓰면 수입에도 신경을 쓴다.
실제 손이 예상보다 조금 적으면 좀 슬프다.
그런 이유로 정확한 계산 기법을 통해 마음의 평온을 유지하고 싶다.
 
그렇다면 소득을 산정하기 위해서는 사회보험료와 세액을 지급해야 한다.
이 중 사회보험료는 월 소득을 표준보수 월액으로 전환하고 그 값의 보험료율을 곱해 계산한다.
이 글에서는 파이톤을 통해 PDF로부터 표를 받아 사회보험료 산정에 필요한 표준보수 월액을 받는 것을 목표로 한다.

2. 라이브러리 설치


파이톤이 PDF에서 표를 얻는 방법으로 대충 조사해 보니 두 가지가 있는 것 같다.
Tabuler-py 라이브러리나camelot 라이브러리를 사용하는 방법.
타블러-py의 라이브러리 내용은 자바로 작성되기 때문에 PC에 자바 환경이 없으면 작동할 수 없습니다.
복잡한 프로그래밍 환경을 만들고 싶지 않아 자바 환경을 만드는 것을 포기하고 타블러-py를 사용하기로 했고, 이번에는 캐럿 프로그램 라이브러리를 사용했다.
camelot 라이브러리 자체가...
pip install camelot-py[cv]
를 참고하십시오.
다만 이 라이브러리의 사용은 Ghostscript가 필요하기 때문에 설치하세요.
For Windows : https://www.ghostscript.com/download/gsdnld.html
For macOS : brew install tcl-tk ghostscript

3. PDF에서 테이블 가져오기


그럼, 실제 캐럿을 사용해서 PDF에서 표를 받아보세요.
이번에는 후생연금 보험료로 산정된 표준보수 월액을 조사하기 위해일본 양로금 기구가 제출한 보험료 금액표를 표본으로 삼았다.
import camelot

table_nenkin = camelot.read_pdf('nenkinR3.pdf') #TableList
table_nenkin[0].df
nenkinR3.PDF.pdf의 이름으로 저장,camelot.read_pdf에게 건네주고
PDF의 모든 테이블은 데이터 프레임으로 가져와지고 페이지 위의 테이블부터 목록에 차례로 저장됩니다.
이 PDF에는 테이블이 하나만 있습니다.nenkin[0].df를 통해 목표 표를 데이터 프레임으로 얻을 수 있습니다.
이 테이블을 Jupter 환경에 표시하려면 다음 그림과 같이 표시해야 합니다.

간단하네요!!
표 수령이 완료되어 당초의 목적에 따라 표준 보수 월액 취득에 적용됩니다.
다음 코드와 실행 결과입니다.
import re
month_salary = 238000 # your salary
for i in range(3,35):
    if i == 34:
        standard_month_salary = int(re.sub(r"\D", "",  table_nenkin[0].df[1][i]))
        break
    s = table_nenkin[0].df[2][i]
    Range = s.split('\n')    
    Range_H = int(re.sub(r"\D", "",  Range[2]))
    if Range_H >= month_salary:
        standard_month_salary = int(re.sub(r"\D", "",  table_nenkin[0].df[1][i]))
        break    
print('標準報酬月額(円):', standard_month_salary)
標準報酬月額): 240000

4. 마지막


사회 상식을 배우면서 파이톤을 이용해 PDF에서 표를 얻는 방법을 조사했다.camelot 사용이 편리해서 좋은 것 같아요.

좋은 웹페이지 즐겨찾기