Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬(Python)으로 PDF 파일을 엑셀(Excel)로 변환하는 완벽 가이드

PDF를 엑셀로 변환해야 하는 이유

파이썬은 다양한 유형의 작업을 처리할 수 있는 방대한 라이브러리 생태계를 갖추고 있습니다. 이 글에서는 그중에서도 PDF 파일을 엑셀(Excel/CSV) 파일로 변환하는 방법을 알아보겠습니다.

파이썬에는 PDF를 CSV로 변환할 수 있는 여러 패키지가 있지만, 이번 글에서는 가장 널리 사용되는 Tabula-py 모듈을 사용하겠습니다. tabula-py는 주요 로직이 자바(Java)로 작성되어 있어 PDF 문서를 읽어 들인 후, 파이썬의 DataFrame 형태 또는 JSON 객체로 데이터를 반환합니다.

사전 준비 사항

tabula-py를 사용하려면 시스템에 자바(Java)가 미리 설치되어 있어야 합니다. 자바가 설치되어 있지 않다면 먼저 JDK를 설치한 후 진행하세요.

변환 절차

PDF 파일을 CSV(엑셀) 파일로 변환하기 위해 다음 단계를 따릅니다.

  • 1단계 – 패키지 설치: 명령 셸에 pip install tabula-py를 입력하여 필요한 패키지를 설치합니다.

  • 2단계 – PDF 파일 읽기: read_pdf("파일 위치", pages=페이지번호) 함수를 사용해 PDF 파일을 읽습니다. 이 함수는 DataFrame을 반환합니다.

  • 3단계 – 엑셀(CSV) 파일로 변환: tabula.convert_into('pdf-파일명', '저장할-파일명.csv', output_format="csv", pages="all") 함수를 사용하여 DataFrame을 엑셀 파일로 변환합니다. 일반적으로 PDF 전체 내용이 하나의 엑셀 파일로 내보내집니다.

실전 예제

아래 예제에서는 IPL 경기 일정 문서(IPL Match Schedule)를 엑셀 파일로 변환해 보겠습니다.

# 필요한 모듈 임포트
import tabula
# PDF 파일 읽기
df = tabula.read_pdf("IPLmatch.pdf", pages='all')[0]
# PDF를 CSV로 변환
tabula.convert_into("IPLmatch.pdf", "iplmatch.csv", output_format="csv", pages='all')
print(df)

코드 설명

  • read_pdf()pages='all' 옵션은 문서의 모든 페이지를 대상으로 표 데이터를 추출합니다.

  • [0] 인덱싱을 통해 첫 번째 페이지에서 추출된 DataFrame을 가져옵니다.

  • convert_into() 함수는 원본 PDF를 직접 지정된 이름의 CSV 파일로 저장합니다.

실행 결과

위 코드를 실행하면 PDF 파일이 엑셀(CSV) 파일로 성공적으로 변환됩니다. 생성된 CSV 파일은 마이크로소프트 엑셀이나 구글 스프레드시트에서 바로 열어 편집할 수 있습니다.

파이썬(Python)으로 PDF 파일을 엑셀(Excel)로 변환하는 완벽 가이드

마무리 및 추가 팁

tabula-py는 특히 표 형태의 데이터가 포함된 PDF를 처리할 때 강력한 성능을 발휘합니다. 스캔 이미지 기반의 PDF는 OCR 처리가 별도로 필요할 수 있으며, 여러 페이지에 걸친 표를 추출할 때는 pages 옵션에 페이지 범위(예: '1-5')를 지정하면 더욱 정밀한 추출이 가능합니다.