2024. 11. 8. 19:51ㆍPower BI/파워 쿼리 ( Power Qeury )
csv 파일을 파워쿼리로 불러오는 방법을 알아보도록 하겠습니다.
데이터 관리를 위해서 사용하는 파일형식 중 가장 대중적인 것이 엑셀과 csv 파일입니다
엑셀을 쓰면 되는데 왜 csv 파일을 사용할까요?
우선 csv 파일은 무엇일까요? Comma-separated values 콤마로 분리된 값이라는 의미입니다.
csv 파일을 사용하는 이유는 주로 아래와 같습니다.
#1. 라이센스( 엑셀은 어떤 기업의 소유일까요? ) - 저작권 문제에서 자유로울 수 없습니다.
#2. 엑셀 Sheet의 한계 극복 가능 ( 1,048,576행 이상 저장 가능 )
( 엑셀로 작업하면 2개 이상의 Sheet를 하나로 관리가 가능 )
#3. 메모리 관리 ( 엑셀보다 메모리를 덜 차지합니다 )
python polars 라이브러리를 활용해서 엑셀 파일을 csv파일로 변경해 보았습니다.
11KB 메모리가 1KB로 줄어드는 것을 볼 수 있습니다.
[ 데이터 ] - [ 텍스트/CSV에서 ]를 누르거나 [ 데이터 ] - [ 파일에서 ] - [ 텍스트/CSV에서]를 눌러 줍니다.
파일을 불러오는 방법은 기존 엑셀을 불러오는 방식과 동일합니다.
불러오기는 아래 글을 참조해 주십시오.
파일 원본 아래 있는 것은 파일의 Encoding형식 / 구분 기호는 어떤 항목으로 구분되어 있는지를 의미합니다.
데이터 변환을 눌러 주도록 하겠습니다.
엑셀파일에 불러온 것과 동일한 결과를 볼 수 있습니다.
용량도 적고 더 많은 데이터를 저장할 수 있다면 csv 파일을 사용하지 않을 이유가 없을 것 같습니다.
그럼 엑셀에서 불러오는 것과 csv로 불러오는 것을 차이는 무엇일까요?
파워쿼리에서 데이터 처리하는 방식이 다릅니다.
python이나 프로그래밍 언어를 다뤄보신 분이면 알 수 있는데 컴퓨터는 생각보다 똑똑하지가 않습니다.
우리가 보면 바로 알 수 있는 파일을 컴퓨터에서는 바로 알지 못하기 때문에
이거는 엑셀이야, 이거는 csv 파일이라고 알려줘야 아 그렇구나 하고 그때부터 스마트에서 작업을 해 줍니다.
구분 | 세부사항 | 설명 |
Csv.Cocument( | Csv 파일이니 변환을 해줘 | |
File.Contents( path ) | path에 있는 게 파일이야 - 무슨 파일인가요? | |
[ Delimiter = "," | 구분자는 뭐로 되어 있나요? 콤마야 | |
Columns = 2 | 컬럼은 몇개로 할까요? 2개로 해줘 | |
Encoding = 65001 ] ) |
인코딩은 뭔가요? 65001( UTF-8로 해 줘 ) |
아까 보았던 항목이 M fuction안에 옵션으로 작동하게 되어 있습니다.
해당 사항이 작동하는 것을 알아보기 위해서 예제를 들어서 한번 보도록 하겠습니다.
메모장에 다음과 같이 간단한 데이터를 입력하고 데이터를 불러오도록 하겠습니다.
파일명은 해당 폴더 내 sample.txt로 저장하도록 하겠습니다.
( 이번 확장자는 csv 파일은 아니지만 동작은 동일하게 됩니다 )
해당 파일을 파워쿼리로 불러왔더니 다음과 같이 테이블 형식으로 변경되는 것을 볼 수 있습니다.
이번에는 콤마가 아닌 콜론으로 바꾼 후 저장하도록 하겠습니다.
구분 기호를 쉼표를 선택해 보았는데 테이블 형식으로 변경되지 않는 것을 볼 수 있습니다.
구분 기호를 콜론으로 변경하면 아까와 같은 테이블 형식으로 변경되는 볼 수 있습니다.
파워쿼리 창에서도 Delimiter 옵션이 콜론으로 변경되어 있습니다.
이러한 패턴을 생각하면 다양한 구분자로 데이터를 만들어 낼 수 있다는 것을 알 수 있습니다.
아래와 같이 이번에는 아래첨자를 구분자로 사용해 보도록 하겠습니다.
아래 첨자의 구분은 기본 옵션으로 제공되지 않는 것을 볼 수 있습니다.
이때 --사용자 지정--을 눌러서 "_"를 입력하면
아래와 같이 테이블 형식으로 나오는 것을 확인할 수 있습니다.
이번에는 컬럼 옵션을 알아보도록 하겠습니다.
위에 컬럼이 2라고 되어 있고 Column2까지 생성이 된 것을 볼 수 있습니다.
다음과 같이 파일을 변경해 주고 새로고침을 한번 해 보도록 하겠습니다.
구분자가 아래첨자가 아니고 컬럼도 2로 되어 있어 컬럼은 2개가 생기고 분리가 안되어 있는 상황입니다.
그럼 구분자만 "_"로 변경해 보도록 하겠습니다.
구분 / 이름 / 값의 테이블이 만들어져야 하지만 아래와 같이 구분 / 이름만 생성되고 값은 나오지 않는 상황이 발생했습니다.
이유는 Columns가 2로 되어 있기 때문에 이후 컬럼은 반환하지 않는 상황이 발생되었습니다.
이때 Columns를 3으로 변경해 주도록 하겠습니다.
오른쪽과 같이 값 컬럼이 나오는 것을 볼 수 있습니다.
| 추후에는 엑셀 파일과 CSV 파일이 각각 있어서 동시에 작업이 가능한 것도 보여 드리도록 하겠습니다 | |
'Power BI > 파워 쿼리 ( Power Qeury )' 카테고리의 다른 글
[ 파워쿼리 ] 엑셀 테이블의 짝수( 홀수 )행만 구하기 (0) | 2024.11.11 |
---|---|
[ 파워쿼리 ] 엑셀 열 번호 ( Row number ) 추가 (1) | 2024.11.10 |
[ 파워쿼리 ] 엑셀 시트 데이터 합치기 (1) | 2024.11.09 |
[ 파워쿼리 ] 데이터 불러오기( with. Excel ) (0) | 2024.11.07 |
[ 엑셀 Tip ] 이중 헤더( Double Header ) 전처리 ( Feat. 파워쿼리 ) (4) | 2024.10.16 |