[PYTHON] 파이썬을 사용하여 PDF에서 텍스트로 표를 추출하는 방법은 무엇입니까?
PYTHON파이썬을 사용하여 PDF에서 텍스트로 표를 추출하는 방법은 무엇입니까?
테이블, 텍스트 및 일부 이미지가 포함 된 PDF가 있습니다. PDF에 테이블이있는 모든 테이블을 추출하고 싶습니다.
지금은 페이지에서 표를 찾기 위해 수동으로 수행 중입니다. 거기에서 그 페이지를 캡처하고 다른 PDF로 저장합니다.
import PyPDF2
PDFfilename = "Sammamish.pdf" #filename of your PDF/directory where your PDF is stored
pfr = PyPDF2.PdfFileReader(open(PDFfilename, "rb")) #PdfFileReader object
pg4 = pfr.getPage(126) #extract pg 127
writer = PyPDF2.PdfFileWriter() #create PdfFileWriter object
#add pages
writer.addPage(pg4)
NewPDFfilename = "allTables.pdf" #filename of your PDF/directory where you want your new PDF to be
with open(NewPDFfilename, "wb") as outputStream:
writer.write(outputStream) #write pages to new PDF
내 목표는 전체 PDF 문서에서 테이블을 추출하는 것입니다.
해결법
-
==============================
1.제 생각에는 네 가지 가능성이 있습니다 :
제 생각에는 네 가지 가능성이 있습니다 :
귀하의 질문은 다음과 비슷합니다.
문안 인사
-
==============================
2.당신의 추가 연구를위한 키워드로서 : 또한 구역 OCR을 사용할 수있는 옵션이 있습니다. 나는 이것을 프로젝트에서 좋은 성공과 함께 사용했다. 그러나이 방법은 대용량 / 고속에 적합하지 않으며 필요한 각 필드에 대해 추출 템플릿을 정의해야합니다.
당신의 추가 연구를위한 키워드로서 : 또한 구역 OCR을 사용할 수있는 옵션이 있습니다. 나는 이것을 프로젝트에서 좋은 성공과 함께 사용했다. 그러나이 방법은 대용량 / 고속에 적합하지 않으며 필요한 각 필드에 대해 추출 템플릿을 정의해야합니다.
더하기 측면에서, 시각적으로 작동하기 때문에, 그것은 모든 종류의 테이블 (텍스트, 이미지, 스캔)과 함께 작동합니다.
-
==============================
3.나는 tabula을 사용하여 테이블을 추출 할 것을 제안합니다. pdf를 tabula API의 인수로 전달하면 테이블이 dataframe 형식으로 반환됩니다. pdf의 각 테이블은 하나의 데이터 프레임으로 반환됩니다. 이것은 PDF 추출을위한 제 코드입니다.
나는 tabula을 사용하여 테이블을 추출 할 것을 제안합니다. pdf를 tabula API의 인수로 전달하면 테이블이 dataframe 형식으로 반환됩니다. pdf의 각 테이블은 하나의 데이터 프레임으로 반환됩니다. 이것은 PDF 추출을위한 제 코드입니다.
#the table will be returned in a list of dataframe,for working with dataframe you need pandas import pandas as pd import tabula files = "filename.pdf" path = 'C:\\Users\\Himanshu Poddar\\Desktop\\datathon\\Himachal\\' + file df = tabula.read_pdf(path, pages = '1', multiple_tables = True) print(df)
자세한 내용은이 내 저장소를 참조하십시오.
-
==============================
4.pdf 파일을 엑셀 파일로 변환 한 다음 openpyxl 라이브러리를 사용하여 엑셀 파일에서 데이터를 추출하고 해당 파일을 어레이에 추가 한 다음 어레이를 json으로 변환 할 수 있습니다.
pdf 파일을 엑셀 파일로 변환 한 다음 openpyxl 라이브러리를 사용하여 엑셀 파일에서 데이터를 추출하고 해당 파일을 어레이에 추가 한 다음 어레이를 json으로 변환 할 수 있습니다.
from https://stackoverflow.com/questions/47533875/how-to-extract-table-as-text-from-the-pdf-using-python by cc-by-sa and MIT license
'PYTHON' 카테고리의 다른 글
[PYTHON] 어떻게 파이썬 스크립트에서 리눅스에서 사용자 암호를 설정할 수 있습니까? (0) | 2018.11.10 |
---|---|
[PYTHON] Colaboratory에 로컬 데이터 파일로드 (0) | 2018.11.10 |
[PYTHON] pyqt에서 로그를 표시하는 가장 좋은 방법은 무엇입니까? (0) | 2018.11.10 |
[PYTHON] Pyodbc 오류 데이터 원본 이름을 찾을 수없고 기본 드라이버가 역설을 지정하지 않았습니다. (0) | 2018.11.10 |
[PYTHON] 뒤틀린 상태에서 HTTP 프록시를 HTTPS 프록시로 변환 (0) | 2018.11.10 |