[파워쿼리-Tip] PDF 파일의 표를 엑셀로 가져오기

2020. 7. 11. 16:44엑셀/파워쿼리 공부

728x90
반응형

이번 포스팅은 파워 쿼리의 데이터 가져오기 방법 중 PDF 파일의 표를 쿼리로 가져오기에 대해서 소개합니다. 

 

1. 가져오기 예시를 통한 기능 소개

'데이터>데이터 가져오기> 파일에서> PDF에서'를 클릭합니다. 클릭하면 나타나는 파일탐색기로 가져올 파일을 선택합니다.

PDF 파일을 선택하고 확인을 클릭합니다. 오늘 가져올 파일은 국민은행에서 제공하는 보고서를 다운로드하였네요. 가져오기를 누르면 파워 쿼리가 파일을 분석하여 다음 그림처럼 파일 안에 있는 표(Table)를 찾아서 가져올 데이터를 선택할 수 있도록 해줍니다. 

가져올 항목 목록에 페이지가 괄호 안에 표시되어 있으니 필요한 데이터가 위치한 페이지의 내용만 미리보기를 통해 확인해보고 쿼리를 생성하면 됩니다. 

3페이지에 있는 'KOSPI 종합지수 추이'란 표를 파워쿼리로 가져오겠습니다. 

'Table002(Page 3)' 항목이 원하는 표 입니다. 클릭하고 데이터 변환을 클릭하여 파워 쿼리로 생성합니다. 

파워 쿼리로 생성된 결과를 보면 적용된 단계에 내가 하지 않은 작업이 이미 있네요. 자동을 데이터를 분석해서 헤더(머리글) 승격과 데이터 형식에 맞게 변환을 해놓았네요. 문제 될 일은 없으니 '닫기 및 로드'를 클릭해서 새 엑셀 시트에 로드합니다. 

 완료되었습니다. 간단합니다. 물론 가져올 표가 전처리를 많이 요하는 복잡한 형태면 노력이 좀 들어가야겠지만 직접 다시 그리는 것에 비하면 감내할 만한 수준이라 생각되네요. 

2. PDF의 표를 엑셀로 그냥 복사 해서 붙여 넣기 하면? 

당연히 표를 드래그 , crtl C , V 하면 됩니다. 예시와 같이 간단한 표는 그냥 복사해서 붙여 넣기 하면 되고 텍스트 나누기를 통해서 괜찮은 결과를 얻을 수 있습니다. 

하지만 크로스탭 형태로 행과 열의 헤더가 병합이 되어 있는 경우에는 편집에 큰 노력이 들어갑니다. 이 경우 데이터가 필요한 경우에는 파워 쿼리를 사용해서 추출하는 것이 효율적이고 서식이 그대로 유지된 표 자체가 필요한 경우에는 그냥 캡처하는 것이 좋을 것 같네요. 

크로스탭 형태의 표를 테이블형태로 변환하는 방법은 아직 포스팅을 못했네요.  대신 Case 연구에 포스팅된 내용에서 찾아볼 수 있습니다. 

 

PDF 파일을 가져오는 기능은 오피스365 제품만 지원하네요. ^^; 

저는 '엔터프라이즈용 Microsoft 365 앱'을 사용합니다. 

 

728x90
반응형