[파워쿼리- 쿼리 생성하는 5가지 방법] #3 텍스트/CSV에서 가져오기
엑셀, VBA, 파워쿼리/파워쿼리

[파워쿼리- 쿼리 생성하는 5가지 방법] #3 텍스트/CSV에서 가져오기

by Jongg 2023. 10. 7.
728x90

<쿼리 생성하는 5가지 기초적인 방법>
1. 테이블/범위에서 가져오기
2. 엑셀 통합 문서(xlsx, xlsm, xlsb)에서 가져오기
3. 텍스트/CSV에서 가져오기
4. 폴더에서 가져오기
5. 빈쿼리  

참고: 파워쿼리에 대한 간단한 소개글

 

[엑셀] 엑셀 주요기능 세 가지: 스프레드시트, 매크로/VBA, 파워쿼리

엑셀 2016 기준으로, 제가 주로 사용하는 엑셀 기능은 ① 일반 스프레드시트, ② 매크로/VBA, ③ 파워쿼리입니다. 일반 스프레드시트, 매크로/VBA, 파워쿼리의 활용용도와 세부기능, 주요 고려사항

writingpjt.tistory.com

이번 글에서는 텍스트 파일/ CSV 파일(쉼표로 구분된 파일) 데이터를 가져와 쿼리를 생성하는 방법을 알아보겠습니다.

 

 CSV 파일 간단 소개

좌) CSV 파일을 메모장으로 실행한 경우 / 우) CSV 파일을 한셀로 실행한 경우

 

▲CSV 파일은 데이터 열을 쉼표로 구분한 파일로, 엑셀뿐만 아니라 한셀, R, 구글 스프레드, 심지어 메모장으로도 열 수 있습니다. 간단한 데이터 구조에 여러 프로그램에서 활용할 수 있어서 그런지, 인터넷이나 전산에서 데이터를 다운로드하면 파일 형식이 CSV인 경우가 꽤 있습니다. 예를 들면, 공공데이터 포털에는 데이터가 CSV 형식으로 업로드되어 있습니다. 

 

https://www.data.go.kr/index.do

 

공공데이터 포털

국가에서 보유하고 있는 다양한 데이터를『공공데이터의 제공 및 이용 활성화에 관한 법률(제11956호)』에 따라 개방하여 국민들이 보다 쉽고 용이하게 공유•활용할 수 있도록 공공데이터(Datase

www.data.go.kr

예시 파일: 서울특별시 동작구_동별,일별 코로나19 확진자 현황_20211227 (출처: 공공데이터 포털)

서울특별시 동작구_동별,일별 코로나19 확진자 현황_20211227.csv
0.01MB
서울특별시 동작구_동별,일별 코로나19 확진자 현황_20211227.txt
0.01MB

 

 

텍스트/CSV에서 데이터를 가져와 쿼리를 생성하는 과정

1) 데이터 탭 > 데이터 가져오기 > 파일에서 > 텍스트/CSV에서

▲데이터 탭 > '텍스트/CSV'를 클릭합니다. 이후 '데이터 가져오기' 팝업창에서  CSV나 텍스트 파일을 선택합니다. 

좌) CSV 파일을 선택한 경우 / 우) 텍스트 파일을 선택한 경우

▲CSV 파일을 선택하던 텍스트 파일을 선택하던 파워쿼리 프로그램이 자동적으로 구분 기호를 쉼표로 설정하고, 표 형태의 데이터로 쿼리를 생성합니다.

 

2) 파워쿼리 편집기에서 생성된 쿼리 확인 및 편집 : 엑셀 파일에서 가져올 때와의 코딩 차이 

좌) CSV 파일에서 가져온 쿼리 / 우) 텍스트 파일에서 가져온 파워쿼리

▲CSV 파일에서 가져온 경우와 텍스트 파일에서 가져온 경우 모두 엑셀파일에서 가져올 때와 마찬가지로 자동적으로 원본 → 승격된 헤더 → 변경된 유형 세 가지 단계가 생성됩니다. 다만, 아래의 사진처럼 원본을 불러오는 코딩이 CSV/텍스트 파일의 경우와 엑셀 파일의 경우가 다릅니다

 

좌) CSV/텍스트 파일에서 가져올 때 코딩 우) 엑셀 xlxs 파일에서 가져올 때 코딩

▲CSV/텍스트 파일에서 가져올 경우 Csv.Document(~)라는 구문이, 엑셀 파일에서 가져올 때는 Excel.Workbook(~)라는 구문이 사용됩니다. 이런 차이를 인지하셔야 쿼리를 '폴더에서 가져오기' 기능을 활용할 때 덜 헤맬 수 있습니다

 

3) 닫기 및 로드 ▼ > 닫기 및 다음으로 로드

이전 글에서 말씀드렸듯이, 저는 '닫기 및 다음으로 로드'를 클릭하여 연결만 만들지 혹은 시트에 출력할지를 선택하는 것을 추천드립니다. 

 

쿼리생성 팁: CSV 파일을 데이터를 표로 설정 후 엑셀파일로 저장하는 것을 추천

저는 개인적으로 CSV 파일을 쓰는 것보다는 데이터를 표로 저장한 후 엑셀 파일로 저장하는 것을 추천드립니다. 그 이유는 다음과 같습니다.

 

1) 데이터가 많을수록 CSV 파일이 엑셀파일보다 훨씬 더 무거워집니다. 

 

원본 파일의 용량 크기는 파워쿼리 프로그램의 속도에 직접적으로 영향을 줍니다. 용량이 클수록 데이터 처리하는데 시간이 오래 걸리기 때문입니다. 

경영전략 직무에서 일하다 보니, 저는 한 파일에 데이터양이 엄청 큰 경우가 많습니다. 데이터가 많으면 많을수록 엑셀 파일에 비해 CSV 파일의 용량이 훨씬 무거워지는 걸 볼 수 있습니다. 심지어 용량이 두 배 이상으로 차이나는 경우도 많습니다.

 

2) '폴더에서 가져오기' 기능을 활용할 때 엑셀파일이 더 유리합니다.

 

회사에서는 작업한 내용을 엑셀 파일로 저장하지, CSV 파일로 저장하지 않습니다. CSV는 쉼표로 구분된 데이터일 뿐, 데이터를 저장하는 것 외의 다른 기능을 사용하지 못하기 때문입니다. 

파워쿼리로 한 폴더에 있는 여러 파일을 취합할 때 '폴더에서 가져오기' 기능을 사용하게 됩니다. 하지만 이때, CSV 파일과 엑셀 파일이 섞여있으면 데이터를 가져올 때 에러가 발생합니다. 왜냐하면 CSV 파일과 엑셀파일은 원본을 불러오는 코딩이 다르기 때문입니다. 

따라서, 회사에서 일반적으로 쓰이는 파일 형식인 엑셀파일로 저장하는 것을 더 추천드립니다. 

 

관련 글

[파워쿼리] 한 개의 파일 내 여러 데이터 합치기 (VLOOKUP 상위호환)

[파워쿼리] 파워쿼리로 다중조건 VLOOKUP 손쉽게 하기

[엑셀 기능] 표(테이블)과 피벗테이블

728x90

댓글