이미지 파일 테이블을 OneDrive&Python으로 추출
이미지에서 표를 추출하고 싶습니다.
이미지 파일의 테이블을 테이블 데이터로 추출하고 싶을 수 있습니다.
예를 들면, 「종이의 책이나 문서를 스캔해, 이미지 파일이나 PDF 파일로서 전자화」한 경우입니다.
(
이 표는 OCR 처리되지 않은 단순한 이미지이므로 표 대신 문자로 인식되지 않습니다.
그러므로, 당연히, 이대로는 테이블 데이터로서 취급할 수 없습니다.
그럼, 깨끗이 포기하고 꾸준히 수타로 데이터를 표로 해 갈 수밖에 없는 것일까요…
아니요, 포기할 필요가 없습니다!
이미지에서 테이블 데이터를 추출하는 방법
실은 이러한 이미지(jpg, png, pdf 등)에서도 다음 단계에서 테이블을 데이터로 추출할 수 있습니다.
사전 준비. Microsoft OneDrive에 계정 등록(무료)
0. 이미지 파일(jpg, png 등)의 경우는 pdf 파일로 변환한다(처음부터 PDF의 경우는 이 순서는 불필요)
1. PDF 파일을 OneDrive에 저장하고 Word로 변환하여 OCR 처리를 합니다.
2. OCR 처리된 Word를 PDF로 저장
3. PDF의 테이블을 Python으로 추출
중간에 Word를 사용하지만 무료 Office 온라인을 사용하므로 PC에 Microsoft Word가 설치되어 있지 않아도 괜찮습니다.
그럼, 이번은↓의 PDF 파일을 사용해 설명해 갑니다.
(
이미지 파일(jpg, png 등)에서 표를 추출하고 싶은 경우는 먼저 PDF 파일로 변환해 둡시다.
이미지 파일을 PDF로 변환하는 무료 웹 서비스도 있습니다만, 간단한 것은【이미지 파일을 오른쪽 클릭→인쇄→프린터로 「Microcoft Print to PDF」를 선택해 인쇄】로 OK입니다.
사전 준비. OneDrive에 계정 등록
Microsoft OneDrive에 계정을 등록합니다. 무료입니다.
Microsoft 계정을 얻으십시오.
1. PDF 파일을 OneDrive에 저장
대상 PDF 파일을 OneDrive에 업로드합니다.
파일을 마우스 오른쪽 버튼으로 클릭하고 열기를 선택합니다.
이 시점에서 표 근처를 선택해 보면 문자를 텍스트로 선택할 수 있습니다. 테이블 구조도 인식됩니다.
데스크톱 앱에서 편집 버튼을 누릅니다. 그러면 파일 변환할 것인지 묻기 때문에 "변환"버튼을 누릅니다.
그러면 변환이 이루어집니다. 변환이 끝나면 확인 화면이 되므로 "편집"을 누릅니다.
그러면 브라우저에서 Word가 열립니다. 제대로 테이블 데이터로 변환되고 있네요.
문자가 올바르게 인식되지 않는 곳도 다소 있을지도 모르기 때문에, 이 시점에서 고칠 수 있는 곳은 수작업으로 고쳐 버립니다.
이 경우 '복사'가 '코비'로 되어 있으나, 거의 올바르게 변환할 수 있습니다. 좀처럼 인식 정밀도입니다!
2. OCR 처리된 Word를 PDF로 저장
Word 파일보다 PDF 파일이 테이블을 Python으로 다루기 쉽기 때문에 PDF로 변환하여 다운로드합니다.
왼쪽 상단의 "파일"을 선택하고 다른 이름으로 저장 → PDF로 다운로드를 선택합니다.
3. PDF의 테이블을 파이썬으로 추출
다운로드한 PDF 파일을 열어 봅시다.
원래의 PDF와는 달리, 제대로 표가 표로서 인식되고 있군요.
글꼴이 크거나 작거나해서 보는 것은 나쁘지만 pandas의 DataFrame으로 꺼내 버리므로 신경 쓰지 않아도됩니다.
그런데, 여기까지 오면, 나머지는 『PDF의 테이블을 Python으로 추출』의 기사에서 소개한 방법으로 Python을 사용해 간단하게 표를 꺼낼 수 있습니다.
파이썬
import pandas as pd
import tabula
# lattice=Trueでテーブルの軸線でセルを判定
dfs = tabula.read_pdf("PDF_ocr.pdf", lattice=True, pages='1')
for df in dfs:
display(df)
실행 결과
Reference
이 문제에 관하여(이미지 파일 테이블을 OneDrive&Python으로 추출), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/konitech913/items/10b5e1477df991055e0c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)