2019년 5월 24일 금요일

Microsoft Office Excel 2019 or Aceess 2019 에서 CSV파일(Comma Separated File)을 불러오는 방법


이 포스트를 참조한 후,  용량이 큰 CSV 파일로 실습하지 마시고 데이터 양이 작은 CSV 파일로 실습하시기를 바랍니다. 단지 파일 loading 방법만 참조하여 배우시고, 실습은 용량이 작은 파일로 하시기 바랍니다. 이 포스트는 필자의 시행착오를 자유롭게 기록한 것이며, 결과는 상이하나 과정을 보여드리기 위해 작성되었음을 미리 알려드립니다.)

CSV Files란?


CSV는 TEXT data로 이루어진 파일이다.

이름에서 짐작할 수 있듯이 CSV는 Comma Separated File이라는 영문이름으로, 자료가 구분기호 콤마( " , ") 로 분리되어 있는 raw text data 파일을 말한다.

raw text data 중에는 "일정한 공백(blank)"이나 구분기호-세미콜론(semi-colon : " ; "), 대쉬( dash : " - ") 등으로 분리되어 있는 자료나 data가 많다.

(주로 공백(blank)과 콤마(comma)가 많다.)

이러한 CSV 파일 다운로드는 한국의 쇼핑몰에서도 자주 보이는데, 주로 매출자료를 다운받기 위함이며,  "엑셀로 저장"이라는 버튼을 누르면 CSV형태의 매출 자료가 생성된다.

주로 CSV 파일은 엑셀에서 쉽게 열어 편집할 수 있어 많이 애용되고 있다.



TIP : Excel 2019 버전은 얼마나 많은 양의 데이타를 불러올 수 있을까?



다음은 Microsoft Excel - Wikipedia 항목에서 가져온 것이다.


Versions of Excel up to 7.0 had a limitation in the size of their data sets of 16K (214 = 16384) rows.

(엑셀 7.0 버전 이하 버전은 2의 14승인 16,384개의 레코드(행)만 가질 수 있다.)

Versions 8.0 through 11.0 could handle 64K (216 = 65536) rows and 256 columns (28 as label 'IV'). 
(엑셀 버전 8.0에서 11.0은 65,536개의 레코드 (행)과 256개의 컬럼(열)을 가질 수 있다.)

Version 12.0 onwards, including the current Version 16.x, can handle over 1M (220 = 1048576) rows, and 16384 (214 as label 'XFD') columns.[28]

(엑셀 버전 12.0 부터 16.0 이상은 약 일 백 사만개(1,048,576)의 레코드(행, Rows)와 16,384의 컬럼(열)을 가질 수 있다.)


위키피디아를 번역하면 이러한 데이타를 알 수 있다.


단순히 엑셀에서 확인해 볼 수도 있다. 빈 엑셀 시트를 열고  Ctrl key를 누른 채, 아래 화살표키 (down arrow key : ↓)를 누르면 제일 맨 아래 행으로 이동한다.

엑셀의 1,048,576개의 행이 정확히 보인다.




data.gov로 가보자.



이 사이트는 각종 U.S. Government(미국 정부)의 공공데이터(public data)를 무료로 볼 수 있다.

다음의 예제를 살펴보자.

data.cityofchicago.org가 펴낸 "Chicago Police Department"의 "Crime 2001 to present" CSV data를 살펴보자.

이 자료는 미국 시카고 도시의 2001년 부터 현재까지(최근 일주일을 제외)의 범죄현황을 보여 주는 자료이다.

파일 형식(file format)은 CSV 형식이며, 65,000개로 이루어져 있다는 사전정보를 제공한다.

Excel 2019는 이론적으로 백만개의 records를 loading 가능하지만, 실제로 그렇게 한다면 처리(processing)는 상당히 느리게 될 것이다.

TIP : 자료 설명에는 65,000개 이상의 data이므로, 이를 Excel 에서 loading 하지 못할 것이라는 친절한 설명이 보인다.


65,000/1,048,576 = 0.06 *100= 6%


약 6%정도의 양이니 한번 시도 해보겠다...^^

(필자 주 : 나중에 알았지만, 이 자료는 설명과 다르게 6백만개의 데이타를 가지고 있었다.엑셀이 1백만개 정도의 데이타를 loading할 수 있으니, 이 데이타 loading 은 택도 없는 일이었다. 그러하오니 독자 여러분은 작은 파일로 실습하시기를 바랍니다.)


data.gov를 연다.

"Crime 2001 to present"라고 입력한다.

(사실 독자 여러분이 익숙해지면, 필요한 아무 자료나 불러와도 된다.)




노란색 CSV 버튼을 누르면 다운되어진다.
임의의 폴더에 저장한다.





Excel 2019를 열고 데이터> 텍스트/CSV로 버튼을 누른다.


위와 같은 창이 출력된다.
"로드"버튼의 화살표를 누르면 "다음으로 로드"라는 메뉴가 나온다.



"데이터변환"버튼을 눌러도 되지만, 과정 하나를 더 거치게 되므로, 아직은 이 과정이 
필요하지 않다.

이왕이면 "로드" 대신 "다음으로 로드"를 눌러 "표"로 만들자.


"확인"을 누르면 시작된다.



데이터를 읽는 데, 시간이 걸린다.


백만개 정도는 빠르게 쉽게 부른다.



계산을 잘못하였다.65,000개 이상이라고 하였는 데, 실제로는 6백 8십만개 정도로 아주 큰 데이타였다.
데이타 양이 많아 loading이 되지 않았다.




하단 좌측의 저 짙은 회색 버튼을 누르면 loading을 취소할 수 있다.


확인을 누르면 딱 엑셀이 loading 할 수 있는 크기만 불러오게 된다.

취소를 누르면 당연히 loading이 취소가 된다.

데이타의 양이 방대해서 Excel 2019에서는 loading이 되지 않는다.

(6.8 Million)



그렇다면, Access 2019에서 loading 을 해보자.





CSV를 선택하여 파일을 load 해보자.


다음 그림을 보면 CSV가 쉼표로 되어있는 것을 알 수 있다.


여기서는 체크가 안되어 있지만, "첫 행에 필드 이름 포함"을 눌러서 "필드명"을 데이타에서 제외하여 주어야 한다.

"고급"을 누르면 테이터 형(data type)을 변경할 수도 있다.

하지만 초보의 범위를 벗어나니 생략하고 넘어가기로 한다.


"다음"을 누른다. 이 화면도 위에서 설명한 하단 좌측의 "고급" 버튼의 내용이다.

과감하게 "다음"을 누르면 된다.

(필드명 (filed name) 과 데이타 형(data type)을 정할 수 있다.)


성공적으로 "Crime 2001 to present.csv"파일을 불러오게 되었다.


성공^^.


필자의 컴퓨터는 성능이 되지 않아서 데이타처리(data processing)는 불가능하였다.

용량을 확인해보니 데이타 양이 1.6GB나 된다.

Access 2019는 DB 용량을 2GB까지가 한도이니, CSV 파일을 간신히 불러온 셈이다.

(랙이 걸린다.)

이렇게 하여 Excel 2019 와 Access 2019에서 CSV file 불러오기"과정"을 실습해 보았다



다시 말씀드리지만, 작은 CSV 파일로 실습해 보시기를 권해드린다.

6백만 개의 정도의 레코드는 데이터베이스 영역이라고 생각한다.

오라클이 가장 인기있고 좋지만, 유료이므로, 무료 DB를 사용하도록 시도해보는 것도 바람직하다.

그럼 블로그의 내용이 도움이 되었기를 바라며, 이만 졸필을 마치고자 합니다.

끝.

댓글 없음:

댓글 쓰기

recommended

구글 크롬브라우저에서 built-in 스크린샷 사용해보기

구글 크롬 브라우저에서 screenshot을 찍고 저장하는 방법 요약 -초보자나 시간없는 사람, 전문가를 위해서 1. Google Chrome browser 실행  2. Google Chrome Browser의 '검색어를 입력하는 곳 (Sear...