[파워쿼리] PDF 파일의 표 엑셀로 정리하기

2021. 7. 23. 21:51엑셀/엑셀 작업 Case 연구

728x90
반응형

그동안 이런 저런 핑계로 손을 놓고 있던 포스팅을 조금 씩이라도 해보려고 오랜만에 '공공데이터포털' 사이트를 찾았습니다. 어느 데이터를 내려받아볼까 하고 스크롤을 내리다가 PDF 파일이 보여서 들어갔는데 

두둥 ~~! 

파워쿼리를 이용해서 정리하기 딱 좋은 파일이 있네요. 
'PDF 표 가져오기'는 블로그의 인기 글이라 조회수를 올리고 싶은 욕심에 그만 원래 계획 했던 'LET' 함수를 제껴두고 먼저 포스팅합니다. 

최근 일을 하면서 실제 사용했던 예시들을 포스팅하려고 꾸려놓은 목록이 제법됩니다. 계획을 뒷전에 두고 이것 먼저 하게 되네요. 1주 1포스팅을 목표로 고고~!! 

자~ 이제 본격적으로 PDF 파일의 '주택입주계획' 표를 엑셀로 깔끔하게 옮겨서 정리 해 봅시다. 

일단 PDF 파일의 모양을 보죠. 이건 그냥 딱 표만 들어 있습니다. 각 페이지에 제목과 단위 표기 외에는 모두 표 안에 들어있습니다. 

이 경우 데이터 가져오기로 파일의 내용을 불러오면 어떻게 될까요?  

데이터가져오기>파일에서>PDF에서 를 클릭

파일 탐색기에서 파일을 선택해서 가져오기를 실행하면 

탐색 창의 좌측에 아이콘이 나머지와 다른 'Table001 (Page 1-5)' 가 있고 그 아래로는 'Page001' ... 이 있습니다. 

Table과 Page를 각각 눌러서 확인 해보면 차이를 알 수 있습니다. Table은 전체 문서의 표를 1개의 표(Table)로 묶어서 가져올 수 있다는 것이고 Page는 각 페이지의 표를 의미합니다. 

전체를 정리할 것이라면 'Table001 (Page 1-5)' 를 선택하고 데이터 변환을 클릭하여 파워쿼리 창에 불러와 봅니다. 

이미 표로 비교적 깔끔하게 정리가 된 상태로 데이터를 읽어 왔습니다. 굿~! 좌측의 쿼리설정을 보면 이미 몇단계를 통해서 헤더를 승격시킨 상태입니다. 

이 상태라면 필요없는 행을 제거하고 로드하면 끝이겠네요. 각 필드의 필터를 통해서 'null' 인 행을 빼버리면 간단히 정리됩니다. 

'지구명' 필드에서 (null) 을 빼버리면 데이터가 없는행은 필터링 되어 버립니다. 

완성~! 

몸 풀기로 오늘은 여기까지 ~ 

연습 할 수 있도록 위 데이터의 url을 아래 남김니다. 다운받아서 해보세요. 

https://lh.or.kr/user/opendata/view.do?sCode=user&mId=13&mPid=12&seq=206&pageIndex=&searchOpt=list&othbcCycle=&othbcEraMon=&othbcEraDay=&searchTxt=

참고로 저는 엑셀 Office365를 사용합니다. 따라서 엑셀 버젼에 따라서 PDF 파일 가져오기 기능이 지원되지 않을 수 있습니다. 

 

 

728x90
반응형