본문 바로가기

코딩

한글 처리(2), 파이썬으로 고급 코딩하기

728x90
반응형

원본 데이터 얻기

`주소기반산업지원서비스` 사이트에서 제공하는 건물주소 데이터를 사용한다.

홈페이지 -> 공개하는 주소 -> 건물DB -> 2023년 6월 동그라미를 클릭해 데이터(건물DB전체분)를 다운로드 받는다.

얻은 파일에는 3종류의 데이터가 있다. `건물정보`, `도로명코드(법정동 주소 기준)`, `관련지번`.

 

* 146MB 나 되는 큰 파일이며, `build_sejong.txt` 파일을 대상으로 작업하고 마지막에 전체 데이터를 DB 에 넣는다.

 

https://business.juso.go.kr/addrlink/main.do#

 

* 첨부된 `build_sejong.txt` 파일은 원본과 같은 파일이다 (2023년 6월에 공개한 건물DB 데이터 중 한 개 파일)

build_sejong.txt
8.25MB

 

 

 

원본 데이터 분석

위의 방법으로 얻은 압축 파일을 풀면 `건물DB 활용방법.pdf` 파일이 있다. 이 가이드에 따라 원본 데이터를 구조 및 특징을 알 수 있다.

[가이드]건물DB 활용방법.pdf
1.28MB

 

 

`[자료건수]건물DB(2023년 06월 30일 기준).txt` 파일에 다운로드 받은 데이터의 개수가 정리되 있다. 예로, 세종시 파일에는 `56,032건`의 건물정보가 담겨 있다.

[자료건수]건물DB(2023년 06월 30일 기준).txt
0.00MB

 

 

상기의 다운로드 파일에는 약 1천만 건의 건물정보가 들어있으며, 데이터의 구성은 다음과 같다.

인코딩 분석

VSCode 편집기로 `build_sejong.txt` 파일을 열어보면 하기와 같이 표시된다. 숫자는 정상으로 표시되나 한글은 알 수 없는 문자로 나온다(깨진 문자)

한글이 깨진 이유는 파일 인코딩이 MS949(CP949) 로 되어있는 문자를 `utf-8` 형태로 디코딩 했기 때문이다.

* VSCode 의 Decoding 정보는 에디터의 맨 하단에 표시된다.

 

MS 윈도우에서 제공하는 `메모장`으로 `build_sejong.txt` 파일을 열어보면 하기와 같이 표시된다. 한글이 정상이다. 메모장은 기본 디코딩 방식을 `MS949`를 사용하므로 정상 표시된다.

* 메모장 편집기 맨 하단에 디코딩 정보가 표시된다. "ANSI" 라고 쓰인 것의 의미는 로컬 코드 페이지로 디코딩 했다는 의미이다. 여기서 로켤코드페이지는 MS949를 말하며 MS는 Micro Soft 의 약자로 CP949 와 완전히 동일한 것이다.

728x90
반응형