* 출처 : 통계분석연구회(http://cafe.daum.net/statsas/3F8j/210);
* 도로명우편번호 내려받기 자동화 프로그램;
* 도로명 우편번호 내려받아서 SAS에서 자동으로 읽는 프로그램입니다.;
* 웹상의 자료나 압축 자료에 대한 자동화 프로세스를 구현하시고자 하는 분들에게 도움이 되기를 바랍니다;
* 도로명주소(신주소)가 시행된 이후에 우편번호를 월에 한번씩 내려받는 작업에 대한 자동화 프로그램;
* 우편번호에 대하여 우정국에서 FTP 서비스를 제공을 안해주어서 기존에 수작업으로 작업을 하였으나,;
* WGET 이라는 실행파일을 지인께서 알려주셔서 자동화 프로그램으로 변경하였습니다.;
* WGET 는 원래 리눅스 프로그램인데, 윈도우로 변환된 프로그램이 있다고 합니다.;
* 첨부 파일을 압축 해제후 C:\WINDOWS\system32 에 복사하시면, 다른 폴더에서도 실행 가능;
* 첨부 파일 위치 : http://cafe.daum.net/statsas/3F8j/210
* DOS 명령어, START.EXE와 iexplore.exe 명령어로 내려받기 하려했는데 실패;
* DOS로 명령어가 구현되면, WGET 파일은 필요 없을듯 합니다.;
* (DOS나 BATCH 파일을 잘 아시는 분 계시면 알려주시면 감사하겠습니다.);
* 대상 사이트 : 우정사업본부;
* 주소 : http://www.epost.go.kr/search/zipcode/newAddressDown.jsp;
* CMD창 처리;
OPTIONS NOXWAIT NOXSYNC;
*****************************************************************************************;
* 방법 1 : 1개 파일 처리;
*****************************************************************************************;
* WGET 실행파일을 사용하여 ZIP파일 다운로드;
* FILENAME구문에서 PIPE를 사용하여서 압축파일 해제 및 읽기;
x 'wget --directory-prefix=C:\WORK http://www.epost.go.kr/search/zipcode/Sejong.zip';
filename testpipe pipe 'unzip -p "C:\WORK\Sejong.zip"' ;
data report ;
* Read data from pipe ;
infile testpipe DLM='|' MISSOVER FIRSTOBS=2 LRECL=32767 ;
input var1 $
var2 $;
run ;
*****************************************************************************************;
* 방법 1 : 다수 파일 처리;
*****************************************************************************************;
x 'wget --directory-prefix=C:\WORK http://www.epost.go.kr/search/zipcode/Sejong.zip';
x 'wget --directory-prefix=C:\WORK http://www.epost.go.kr/search/zipcode/Gwangju.zip';
x 'wget --directory-prefix=C:\WORK http://www.epost.go.kr/search/zipcode/Daejeon.zip';
* WORK에 있는 ZIP파일을 모두 압축을 풀고, 읽기;
filename testpipe pipe 'unzip -p "C:\WORK\*.zip"' ;
OPTIONS validvarname = any;
data POST_CODE;
INFILE testpipe DLM='|' MISSOVER FIRSTOBS=2 LRECL=32767 dsd;
INPUT 우편번호 : $6.
우편번호일련번호 : $3.
시도 : $20.
시도영문 : $40.
시군구 : $40.
시군구영문 : $50.
읍면 : $40.
읍면영문 : $50.
도로명코드 : $12.
도로명 : $50.
도로명영문 : $50.
지하여부 : $10.
건물번호본번 : $10.
건물번호부번 : $10.
다량배달처명 : $100.
법정동코드 : $100.
법정동명 : $100.
지번본번 : $10.
지번부번 : $10.
시군구용건물명 : $10.
건물관리번호 : $40.;
RUN;
*****************************************************************************************;
* 방법2 : 기존 처리방식;
* 17개 파일을 모두 수동으로 다운 후 압축을 풀고, FILEVAR옵션을 사용하여 자동화;
*****************************************************************************************;
OPTIONS validvarname = any;
data POST_CODE;
length fileloc myinfile $ 300;
input fileloc $ ;
INFILE DUMMY FILEVAR=FILELOC FILENAME=MYINFILE END=DONE
DLM='|' MISSOVER FIRSTOBS=2 LRECL=32767 dsd;
DO WHILE(NOT DONE);
INPUT 우편번호 : $6.
우편번호일련번호 : $3.
시도 : $20.
시도영문 : $40.
시군구 : $40.
시군구영문 : $50.
읍면 : $40.
읍면영문 : $50.
도로명코드 : $12.
도로명 : $50.
도로명영문 : $50.
지하여부 : $10.
건물번호본번 : $10.
건물번호부번 : $10.
다량배달처명 : $100.
법정동코드 : $100.
법정동명 : $100.
지번본번 : $10.
지번부번 : $10.
시군구용건물명 : $10.
건물관리번호 : $40.;
OUTPUT;
END;
datalines;
F:\BACK\백승민개인업무\기타업무\새주소컨버젼\우체국-1226(20130109)\20121226_강원도.txt
F:\BACK\백승민개인업무\기타업무\새주소컨버젼\우체국-1226(20130109)\20121226_경기도.txt
F:\BACK\백승민개인업무\기타업무\새주소컨버젼\우체국-1226(20130109)\20121226_경상남도.txt
F:\BACK\백승민개인업무\기타업무\새주소컨버젼\우체국-1226(20130109)\20121226_경상북도.txt
F:\BACK\백승민개인업무\기타업무\새주소컨버젼\우체국-1226(20130109)\20121226_광주광역시.txt
F:\BACK\백승민개인업무\기타업무\새주소컨버젼\우체국-1226(20130109)\20121226_대구광역시.txt
F:\BACK\백승민개인업무\기타업무\새주소컨버젼\우체국-1226(20130109)\20121226_대전광역시.txt
F:\BACK\백승민개인업무\기타업무\새주소컨버젼\우체국-1226(20130109)\20121226_부산광역시.txt
F:\BACK\백승민개인업무\기타업무\새주소컨버젼\우체국-1226(20130109)\20121226_서울특별시.txt
F:\BACK\백승민개인업무\기타업무\새주소컨버젼\우체국-1226(20130109)\20121226_울산광역시.txt
F:\BACK\백승민개인업무\기타업무\새주소컨버젼\우체국-1226(20130109)\20121226_인천광역시.txt
F:\BACK\백승민개인업무\기타업무\새주소컨버젼\우체국-1226(20130109)\20121226_제주특별자치도.txt
F:\BACK\백승민개인업무\기타업무\새주소컨버젼\우체국-1226(20130109)\20121226_세종특별자치시.txt
F:\BACK\백승민개인업무\기타업무\새주소컨버젼\우체국-1226(20130109)\20121226_전라남도.txt
F:\BACK\백승민개인업무\기타업무\새주소컨버젼\우체국-1226(20130109)\20121226_전라북도.txt
F:\BACK\백승민개인업무\기타업무\새주소컨버젼\우체국-1226(20130109)\20121226_충청남도.txt
F:\BACK\백승민개인업무\기타업무\새주소컨버젼\우체국-1226(20130109)\20121226_충청북도.txt
;
run;
* 기타 도스 명령어(참고용-따로 정리안하였습니다);
* START : 프로그램 실행;
* iexplore : 실행창 명령어;
X 'START iexplore http://www.epost.go.kr/search/zipcode/Sejong.zip > c:\Sejong.zip -noframemerging';
X "CD WORK";
X "START http://www.epost.go.kr/search/zipcode/Sejong.zip";
x "START /D 'C:\work' /B http://www.epost.go.kr/search/zipcode/Sejong.zip";
X 'START /D "c:\work" iexplore http://www.epost.go.kr/search/zipcode/Sejong.zip -nomerge';
x 'cd C:\Program Files\ESTsoft\ALZip';
x 'alzipcon -x -xf "D:\DATA\바탕 화면\새 폴더 (2)\test.zip" "D:\DATA\바탕 화면\새 폴더 (2)"';
Registration is now open for SAS Innovate 2025 , our biggest and most exciting global event of the year! Join us in Orlando, FL, May 6-9.
Sign up by Dec. 31 to get the 2024 rate of just $495.
Register now!