rand(life)

파워쿼리 이용하여 여러개의 파일 통합하기 본문

컴퓨터/엑셀

파워쿼리 이용하여 여러개의 파일 통합하기

flogsta 2018. 11. 28. 15:00

네이버 지식인 노하우에 쓴 글입니다.


2016버전부터 정식으로 엑셀의 기능으로 들어온 파워쿼리를 이용해서

많은 일을 간단하게 할 수 있게 되었습니다.

예를 들어, 여러개의 파일을 통합하여 하나의 파일을 만드는 일 같은 경우, 이전에는 VBA(매크로)를 이용해야했었지만, 파워쿼리를 이용하면 VBA를 몰라도 파일을 통합하는 일을 손쉽게 할 수 있습니다.

단순 통합 뿐 아니라, 데이터를 용도에 맞게 적절히 변형하여 통합파일을 만들 수도 있습니다.

아래는 특정 폴더 안에 있는 모든 csv 파일을 하나로 통합하고, 첫번째 열을 추가하여, 첫번째 열에는 파일명 중 숫자 부분을 넣는 작업에 대한 설명입니다. 

엑셀 2016 버전 기준으로 작성하였습니다. 엑셀 2010버전 이상은 추가기능을 다운로드하여 설치하면 사용할 수 있습니다. 




데이터 - 데이터 가져오기 - 파일에서 - 폴더에서를 클릭합니다. 





폴더 경로를 입력 또는 '찾아보기'를 이용해 선택합니다.



그러면 위와 같은 창이 뜨면서, 해당 폴더 안에 있는 모든 파일의 목록을 보여줍니다. 
위의 예시에서는 세 개의 csv파일이 폴더 안에 있다는 것을 알 수 있습니다.




아래의 메뉴 중 
결합 - 결합 및 편집을 클릭합니다.



파일 안에 무슨 내용이 들어있는지를 보여줍니다. '확인'을 클릭합니다.





모든 파일의 내용을 통합하여 보여주면서
내용에 대한 편집이 가능하도록 파워쿼리 편집기가 뜹니다.

여기서 첫열을 파일명에 있는 숫자로 넣는 작업을 시작하겠습니다. 
(단순히 데이터만 통합하기를 원한다면 위에 보이는 Source.Name열을 마우스 오른쪽 클릭하고 삭제하시면 됩니다.)




현재 첫열은 파일명이 있습니다. 여기에서 숫자만 남기려고 합니다.
제목행(Source.Name)을 마우스 오른쪽 클릭하고
열분할 - 구분기호 기준을 클릭합니다.





구분기호를 입력하라는 창이 뜹니다. 위의 예에서는 모든 파일명에 cdd라는 글자가 있고, 그 뒤에 숫자가 있으므로, cdd를 구분기호로 입력하고 '확인'합니다.





그러면 cdd부분은 빈열의 상태가 되고, 그 오른쪽 열에 cdd를 제외한 나머지 파일명이 들어있는 열이 생성됩니다. 
비어있는 첫 열을 클릭하고 상단 메뉴 중 '열제거'를 클릭하여 열을 삭제합니다.




이제 파일명 중 남아있는 부분에서 마침표이하부분을 없애는 작업을 하겠습니다.
아까와 마찬가지로, 열의 제목행을 마우스 오른쪽 클릭하고
열분할 - 구분기호 기준을 클릭합니다.



이제는 마침표(.)를 기준으로 나눌 것이므로, 입력란에 점을 찍고 '확인'합니다.



그러면 마침표 왼쪽의 숫자와 마침표 오른쪽의 확장자csv가 별개의 열로 나누어집니다.
앞서와 마찬가지로, csv 부분을 클릭하고 '열제거'를 실행합니다.




이제 원하는 형태가 완성되었습니다. 
'닫기 및 로드'를 실행합니다.





csv파일에 저장할 때는 하나의 시트만 저장되므로 
시트가 여러개 있는 경우는 위와 같은 메시지가 뜹니다만 '확인'만 클릭하시면 됩니다.