[ 파워쿼리 ] 데이터 불러오기 ( with. CSV )

2024. 11. 8. 19:51Power BI/파워 쿼리 ( Power Qeury )

728x90
반응형

csv 파일을 파워쿼리로 불러오는 방법을 알아보도록 하겠습니다.

데이터 관리를 위해서 사용하는 파일형식 중 가장 대중적인 것이 엑셀과 csv 파일입니다

엑셀을 쓰면 되는데 왜 csv 파일을 사용할까요?

우선 csv 파일은 무엇일까요? Comma-separated values 콤마로 분리된 값이라는 의미입니다.

csv 파일을 사용하는 이유는 주로 아래와 같습니다.


#1. 라이센스( 엑셀은 어떤 기업의 소유일까요? ) - 저작권 문제에서 자유로울 수 없습니다.

#2. 엑셀 Sheet의 한계 극복 가능 ( 1,048,576행 이상 저장 가능 )
      ( 엑셀로 작업하면 2개 이상의 Sheet를 하나로 관리가 가능 )



#3. 메모리 관리 ( 엑셀보다 메모리를 덜 차지합니다 )

python polars 라이브러리를 활용해서 엑셀 파일을 csv파일로 변경해 보았습니다.

11KB 메모리가 1KB로 줄어드는 것을 볼 수 있습니다.

 


 

[ 데이터 ] - [ 텍스트/CSV에서 ]를 누르거나 [ 데이터 ] - [ 파일에서 ] - [ 텍스트/CSV에서]를 눌러 줍니다.

파일을 불러오는 방법은 기존 엑셀을 불러오는 방식과 동일합니다.

 

불러오기는 아래 글을 참조해 주십시오.

 

[ 파워쿼리 ] 데이터 불러오기( with. Excel )

파워쿼리의 시작인 데이터 불러오기를 해 보도록 하겠습니다.아래와 같이 엑셀 데이터를 준비해 준 후 바탕화면에 저장해 주었습니다.원본은 건드리지 않는 것이 가장 좋기 때문에새로운 엑셀

sunconnector.tistory.com

 

파일 원본 아래 있는 것은 파일의 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 옵션이 콜론으로 변경되어 있습니다.

이러한 패턴을 생각하면 다양한 구분자로 데이터를 만들어 낼 수 있다는 것을 알 수 있습니다.

728x90

 

아래와 같이 이번에는 아래첨자를 구분자로 사용해 보도록 하겠습니다.

아래 첨자의 구분은 기본 옵션으로 제공되지 않는 것을 볼 수 있습니다.

이때 --사용자 지정--을 눌러서 "_"를 입력하면 

 

아래와 같이 테이블 형식으로 나오는 것을 확인할 수 있습니다.


 

이번에는 컬럼 옵션을 알아보도록 하겠습니다.

위에 컬럼이 2라고 되어 있고 Column2까지 생성이 된 것을 볼 수 있습니다.

다음과 같이 파일을 변경해 주고 새로고침을 한번 해 보도록 하겠습니다.

구분자가 아래첨자가 아니고 컬럼도 2로 되어 있어 컬럼은 2개가 생기고 분리가 안되어 있는 상황입니다.

그럼 구분자만 "_"로 변경해 보도록 하겠습니다.

 

구분 / 이름 / 값의 테이블이 만들어져야 하지만 아래와 같이 구분 / 이름만 생성되고 값은 나오지 않는 상황이 발생했습니다.

이유는 Columns가 2로 되어 있기 때문에 이후 컬럼은 반환하지 않는 상황이 발생되었습니다.

이때 Columns를 3으로 변경해 주도록 하겠습니다.

오른쪽과 같이 값 컬럼이 나오는 것을 볼 수 있습니다.

 

 

| 추후에는 엑셀 파일과 CSV 파일이 각각 있어서 동시에 작업이 가능한 것도 보여 드리도록 하겠습니다 |
728x90
반응형