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

Python으로 PDF를 CSV 파일로 변환하는 방법

Python은 방대한 패키지 라이브러리를 자랑하는 프로그래밍 언어입니다. 이러한 라이브러리를 활용하면 PDF 문서를 손쉽게 CSV 파일로 변환할 수 있습니다. CSV 파일이란 데이터를 행(row)과 열(column) 형태로 정리해 담아둔 파일을 의미합니다.

Python에서 PDF를 CSV로 변환할 수 있는 패키지는 여러 가지가 있지만, 이 글에서는 Tabula-py 모듈을 사용하는 방법을 소개합니다. Tabula-py는 내부적으로 Java 기반으로 작동하며, 먼저 PDF 문서를 읽어 들인 후 이를 Python DataFrame으로 변환하고, 필요에 따라 JSON 객체로도 처리할 수 있습니다.

사전 준비 사항

Tabula-py를 사용하기 위해서는 시스템에 Java가 미리 설치되어 있어야 합니다. Java가 설치되어 있지 않다면 먼저 JDK를 설치한 후 진행하세요.

PDF를 CSV로 변환하는 절차

PDF 파일을 CSV로 변환하려면 다음 단계를 따르면 됩니다.

  • 먼저 명령 셸(터미널)에 pip install tabula-py를 입력하여 필요한 패키지를 설치합니다.

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

  • tabula.convert_into('pdf-파일명', '저장할-파일명.csv', output_format="csv", pages="all") 함수를 사용해 DataFrame을 CSV 파일로 변환합니다. 이 함수는 일반적으로 PDF 파일 전체를 스프레드시트 형식으로 내보내는 역할을 합니다.

예제 코드

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

# 필요한 모듈 임포트
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)

실행 결과

위 코드를 실행하면 지정한 PDF 파일이 CSV(엑셀에서 열 수 있는 형식) 파일로 변환됩니다. 변환된 CSV 파일은 Excel이나 Google Sheets 등에서 바로 열어 확인할 수 있습니다.

Python으로 PDF를 CSV 파일로 변환하는 방법

마무리

Tabula-py를 활용하면 복잡한 표 데이터가 포함된 PDF 문서도 몇 줄의 코드만으로 구조화된 CSV 데이터로 손쉽게 변환할 수 있습니다. 특히 pages 인자에 'all'을 지정하면 문서의 모든 페이지를 한 번에 처리할 수 있어 대량의 문서 작업에도 유용합니다.