컴퓨터 지식 네트워크 - 컴퓨터 구성 - 파이썬이 PDF 파일에서 양식 데이터를 등반하는 방법 (코드 예)

파이썬이 PDF 파일에서 양식 데이터를 등반하는 방법 (코드 예)

본 문장 는 파이썬 이 어떻게 PDF 파일에서 양식 데이터 (코드 예) 를 기어오를 수 있는지, 어느 정도의 참고가치가 있고, 필요한 친구가 참고할 수 있어 도움이 되길 바랍니다.

이 문서에서는 약간 다른 파충류를 보여 줍니다.

예전에는 파충류가 인터넷에서 데이터를 기어다녔습니다. 웹 페이지는 일반적으로 HTML, CSS, JavaScript 코드로 작성되기 때문에 웹 페이지의 다양한 데이터를 기어오르는 데 성숙한 기술이 많이 있습니다. 이번에는 기어가야 할 문서가 PDF 파일입니다. 이 문서에서는 Python 의 Camelot 모듈을 사용하여 PDF 파일에서 양식 데이터를 기어오르는 방법을 보여 줍니다.

일상 생활과 업무 중 PDF 파일은 교재, 코스웨어, 계약, 기획서에 이르기까지 가장 많이 사용되는 파일 형식 중 하나일 것입니다. 그러나 PDF 파일에서 양식을 추출하는 방법은 큰 문제입니다. PDF 에는 양식을 나타내는 내부 표현이 없기 때문입니다. 이로 인해 분석을 위해 양식 데이터를 추출하기가 어렵습니다. 그러면 우리는 어떻게 PDF 에서 양식 데이터를 얻을 수 있을까요?

대답은 파이썬의 Camelot 모듈입니다!

camelot 은 누구나 PDF 파일에서 양식 데이터를 쉽게 추출할 수 있도록 하는 파이썬 모듈입니다. 다음 명령을 사용하여 설치 시간이 긴 콜아웃 모듈을 설치할 수 있습니다.

pip install Camelot-py Camelot 모듈의 공식 문서 주소는 https://Camelot-py. 입니다

다음은 Camelot 모듈을 사용하여 PDF 파일에서 양식 데이터를 등반하는 방법을 보여줍니다.

예 1 먼저 간단한 예 eg.pdf 를 살펴보겠습니다. 전체 문서는 한 페이지밖에 없고 이 페이지에는 양식이 하나만 있습니다.

# PDF 파일에서 양식 추출

import camelot

# PDF 파일에서 양식 추출

# 표 정보

print (tables)

print > Tablelist n = 1gt;

lt; Tableshape = (4,4) gt;

[['ID',' 이름',' 도시',' 성별 M']], ['1',' 알렉스',' Shanghai',' Camelot.read_PDF () 는 테이블에서 데이터를 추출하는 Camelot 의 함수이고, 입력 매개 변수는 pdf 파일의 경로, 페이지 번호 (pages) 및 테이블 구문 분석 메서드 (stream 및 lattice 메서드 포함) 입니다. 양식 구문 분석 방법의 경우 기본 방법은 lattice 이고 stream 메서드는 기본적으로 전체 PDF 페이지를 하나의 테이블로 구문 분석하며, 구문 분석 페이지의 영역을 지정해야 하는 경우 table_area 매개 변수를 사용할 수 있습니다.

camelot 모듈의 편리한 점은 추출된 테이블 데이터를 pandas, CSV, JSON, html 로 직접 변환하는 기능 (예: tables[0].df, tables [0]) 을 제공한다는 점입니다 Csv 파일 출력을 예로 들어

import camelot

# PDF 파일에서 양식 추출

tables = Camelot .. Flavor='stream')

# 테이블 데이터를 CSV 파일로 변환

tables [0]. to _ CSV ('e' PDF 파일의 페이지 (섹션) 는 다음과 같습니다.

전체 페이지에서 고유한 양식을 추출하려면 양식이 있는 위치를 찾아야 합니다. PDF 파일의 좌표계는 그림과 달리 왼쪽 아래 모서리의 정점을 원점으로 하고, 오른쪽은 x 축, 위쪽은 y 축을 사용합니다.

import Camelot

# PDF 에서 테이블 추출

tables = catables 와 같은 파이썬 코드를 통해 전체 페이지 문자의 좌표를 출력할 수 있습니다 Pages='53',

flavor='stream')

# PDF 문서의 좌표를 그립니다. 위치 테이블 위치

tables [0]. plot ('텍스트') 출력 결과:

user warning: no tables for 그러나 그려진 페이지 좌표의 이미지는 다음과 같습니다.

이전 PDF 페이지를 자세히 비교하면 양식의 해당 영역의 왼쪽 위 모서리 좌표는 (50,620) 이고 오른쪽 아래 모서리의 좌표는 (500,540) 입니다.

Read_pdf () 함수에 table_area 매개 변수를 추가했습니다. 전체 파이썬 코드는 다음과 같습니다.

import camelot

# 지정된 영역에서 테이블 데이터 식별

tables = Camelot ..

flavor='stream', table _ area = ['50,620,500,540'])

< Class' pandas.core.frame.dataframe' gt;

0 1 2 3

0 student pre-test score post-test score difference

1 1

5 34 82 88 6 PDF 페이지에서 양식을 구체적으로 식별할 때 지정 영역 외에 위 첨자, 아래 첨자, 셀 병합 등의 매개 변수가 있습니다. 자세한 사용 방법은 Camelot 공식 문서 URL (https://Camelot-py.reret) 을 참조하십시오

上篇: sonya7의 플래시를 켜는 방법 下篇: NE 스피드 드라이브 모바일 버전 모바일 버전
관련 내용