4.5.1 우편 번호 데이터 생성
추가 내용...
해당 URL에서 최신 내용을 EXCEL 파일 형식으로 받아 올수 있다.
URL : http://www.koreapost.go.kr/kpost/sub/subpage.jsp?contId=010101040300
6.2.1.우편번호 데이터 생성
우편번호 파일을 우정사업본부에서 다운받는다. http://www.koreapost.go.kr/index.jsp에서 다운 받을 수 있다. 다운을 하게 되면 mic_zipcode_DB.exe가 설치되고, 이것을 실행하면 다음과 같은 파일이 생성된다.
-20060105변경분: 엑셀
-20060105우편번호(기존형태): 엑셀
-20060105우편번호(분리형태): 엑셀
-다량배달처지번DB: 텍스트
-우편번호 DB활용방법: 텍스트
이 책에서는 ‘20060105우편번호(분리형태): 엑셀’을 사용한다. 엑셀 파일을 열어 보면 우편번호, 일련번호, 시도, 시군구, 읍면동, 리, 도서, 산번지, 시작번지(주,부), 끝번지(주,부), 아파트/건물명, 동범위(시작,끝), 변경일, 주소로 데이터가 구성되어 있다.
서버에서 테이터를 가져오는 것은 100건이든 50,000건이든 애플리케이션 로직에는 그다지 영향을 미치지 않는다. 다만, 처리 시간에 영향을 미친다. 이러한 일반적인 기준이 모든 경우에 적용될 수는 없지만, 이 장의 소스는 실질적인 데이터 서비스를 위한 것이 아니라 애플리케이션 작성 방법을 제시하기 위한 것이므로 시군구가 ‘중구’인 것을 한정하여 사용한다.
회원 가입을 할 때 주소를 입력하지 않고 읍면동을 입력하여 우편번호와 주소를 가져올 수 있다. 우편번호 엑셀 파일은 이외에도 다른 목적으로 사용할 수 있는 항목이 있다. 하지만, 이 책에서는 우편번호, 읍면동, 전체주소를 사용할 것이므로 다른 항목은 삭제한다. 이는 데이터를 심플하게 하여 애플리케이션을 처리 방법 위주로 접근하기 위함이다. 또한, 시군구가 ‘중구’인 것을 한정하여 사용할 것이므로 ‘중구’ 이외의 데이터도 삭제한다.
우편번호 엑셀 파일에서 우편번호, 읍면동, 전체주소 이외의 다른 항목을 삭제하려면 시간이 걸리므로 우선 시군구가 ‘중구’ 데이터만 복사하여 별도의 엑셀 파일을 만든 후 다른 항목을 삭제하면 쉽게 데이터를 정리할 수 있다. 또한, 사서함이 주소인 우편번호는 읍면동이 없으므로 설명의 편의를 위해 이를 삭제한다. 이와 같이 정리하고 나면 976건이 된다. 참고로 시군구가 ‘중구’인 시도는 서울, 대전, 인천, 부산, 울산, 대구가 있다.
상기 조건으로 데이터를 추출하여 엑셀 파일로 만든 후 읍면동, 전체주소, 우편번호 순으로 엑셀에서 데이터를 정렬(Sort)한다. 이것은 읍면동을 입력했을 때 해당되는 데이터를 추출하기 쉽도록 하기 위함이며, 가나다 순으로 정렬되어 있으므로 읽기도 쉽다.
다음의 엑셀 그림은 지금까지 방법으로 정리한 엑셀 파일의 앞 부분이다. 이 책에서 아래의 엑셀 파일 이름을 ‘zipdata_junggu’로 사용하고 있으므로 혼동을 피하기 위해 같은 이름으로 저장한다. 이 책은 ‘zipdata_junggu’ 파일을 기준으로 텍스트 파일, CSV 파일, XML 파일을 생성하여 우편번호와 관련된 기준 자료로 활용한다.
정리된 엑셀 파일을 사용하여 텍스트 파일로 변환하기 위해서는 다음과 같은 절차로 수행한다.
1. 저장한 엑셀 파일(zipdata_junggu)을 연다.
2. 파일 à 다른 이름으로 저장을 선택한다.
3. 파일이름(N)을 ziptextdata로 지정한다
4. 파일형식(T)에 ‘유니코드 텍스트’를 선택하여 저장한다.
5. 엑셀 파일(zipdata_junggu)을 닫는다. 닫지 않으면 6번 사항을 실행할 때 UTF-8로 다시 저장
할 수 없다.
6. 유니코드 텍스트는 UTF-8 인코딩이 아니므로 에디터에서 불러내어 UTF-8로 저장한다.
7. 저장한 파일(ziptextdata.txt)을 서버로 옮긴다.
다음 그림은 상기 흐름의 3번과 4번을 실행하는 화면이다. 확장자에 .txt를 지정하지 않아도 txt로 작성된다.
다음 그림은 상기 흐름의 6번을 수행한 후 메모장에서 불러낸 것이다. 항목과 항목이 공백으로 구분되어 있는 것을 볼 수 있다. 이젠 완전한 텍스트 형태의 파일이 되었다. 다음 장에서 이 파일의 데이터를 웹 페이지에 출력한다.
출처 : http://cafe.naver.com/requirements/95 http://www.koreapost.go.kr/kpost/main/index.jsp