[데이터] 맥에서 data.go.kr 에서 부동산 관련 자료 읽어 전처리 하기 Computer Tip

최근 필요에 따라 data.go.kr 에서 자료를 읽어 pandas 에서 처리할 필요가 생겼습니다.

간단한 데이터는 로그인 없이도 다운로드 받을 수 있었고, API 를 이용하여 작업을 할 경우에는
회원가입을 하여 사용자키를 받아 작업할 수도 있습니다.
(우선은 로그인 안한 상태로 해 보았습니다)

우선 요구사항은 전국 관련 부동산 정보를 다운받아 각 주소마다 어느 곳 부동산이 싸고 비싼지 데이터를
얻는 것이 목적이었습니다.

그냥 검색으로 "부동산" 넣고 검색을 하였더니,

우와~ 308 건이나 되는 데이터가 존재 한다네요~

부동산 정보 중에서 "부동산 통계정보"를 확인하기 위하여 오른편에 "바로가기"를 누르면
위와 같은 정보가 나오는데, 처음에는 아무것도 아래에 "CSV" 결과가 없었는데, 기준일자를 2018-01-01에서
현재로 하여 검색하니 아래에 정상적으로 CSV 결과가 보였습니다.

9개의 데이터를 다운받았습니다. CSV가 텍스트인데 압축한 크기가 큰 것은 64메가라니요...

압축을 풀어 정리해 보니, 최대 265메가네요..
그런데 이 사이즈의 것을 엑셀에서 불러오려고 하니 한참(1분여?)을 시도하다 데이터가 끊긴다는 오류가 뜨면서 일부만 로드되었습니다. 결국 엑셀에서는 해당 정도의 크기를 처리하는 것은 불가능하다고 봐야 하겠네요.

해당 CSV를 가지고 있는 "Sublime Text" 편집기로 열어보았습니다. 앗! euc-kr 로 인코딩 되어 있는 모양이네요.

간단히 "Sublime Text"에서 euc-kr 인코딩 되어 있는 것을 읽을 수 있는 방법을 찾았더니,

Command Palette... 를 열어,

Install Package 를 실행하고,

"ConvertToUTF8" 플러그인을 설치했습니다.

그 다음 File > Reload with Encoding > Korean (EUC-kR) 을 했더니,

앗, 플러그인이 하나 더 필요하다 하네요.

codecs33 이라는 플러그인까지 설치하고 나니,


EUC-KR 한글 인코딩 된 CSV도 잘 읽습니다.
그런데, 그냥 사용하기는 뭐해서 몽땅 UTF-8로 변환하였습니다.

이제는 터미널을 이용하는데 tmux 가 없으면 정말 답답합니다.

위에서는 org 폴더를 만들어 해당 csv 파일을 모두 밀어 넣고, 해당 org 폴더에 들어가서,
ls *.csv > ../foo.sh 
라는 명령으로 좌하와 같이 foo.sh 를 만들어 졌습니다.

해당 vi 명령에서,
:%s/.*/iconv -f euckr -t utf8 org\/& > &/g

라고 한꺼번에 변경시키면,

좌하와 같이 foo.sh가 변경되었고, 이것을 우하와 같이 인코딩을 euc-kr 에서 utf-8 로 변경하였습니다.

좌상처럼 head 로 확인해 보면 맥의 터미널에서 잘 보이는 UTF-8 인코딩 CSV가 보입니다.
이상과 같이 간단한 전처리를 통해서 CSV 자료를 가공하는 것을 간단히 살펴보았습니다.

다음에는 이런 CSV를 처리하는데 pandas 등을 이용하는 것을 살펴보겠습니다.


어느 분께는 도움이 되셨기를 ..



덧글

댓글 입력 영역

구글애드텍스트