로그인   |  회원가입  |  사이트맵  |  Contact Us
  아이디 저장하기
 
홈 > 참여마당 > Question & Answer
[SAS 프로그래밍] json 파일 읽기 2017.08.08
성상욱 60 0
http://www.mysas.co.kr/sas_club/b_answer.asp?b_no=7390&cmd=content&bd_no=6

안녕하세요.

JSON 파일(첨부)을 SAS에서 어떻게 읽어야 할지 궁금하여 질문드립니다.

첨부파일은 국토교통부에서 운영하는 세움터라는 사이트에서 받을 수 있는 건축물대장 내용입니다.

변수는 총 8개가 있습니다.

모든 정보는 한 줄에 담겨 있으며 "Description" 이후에는 변수설명이 있고, "Data"이후에는 변수에 대한 건축물의 정보가 있습니다.

각 건축물은 중괄호로 구분됩니다.

건축물에 따라서 특정 변수값이 존재하지 않는 경우도 있습니다.

 

아래는 첨부파일의 일부입니다.

 

{"Description":{"PMS_DAY":"허가_일","TOTAREA":"연면적(㎡)","ARCH_AREA":"건축_면적(㎡)","MGM_BLDRGST_PK":"관리_건축물대장_PK","BC_RAT":"건폐율(%)","PLAT_PLC":"대지_위치","VL_RAT":"용적률(%)","PLAT_AREA":"대지_면적(㎡)"},"Data":[{"PMS_DAY":"19960430","TOTAREA":250.2,"ARCH_AREA":250.2,"MGM_BLDRGST_PK":"11680-324","BC_RAT":43.37,"PLAT_PLC":"서울특별시 강남구 역삼동 615-8번지","VL_RAT":43.37,"PLAT_AREA":576.9},{"TOTAREA":840.18,"ARCH_AREA":382.55,"MGM_BLDRGST_PK":"11680-100202629","BC_RAT":43.19,"PLAT_PLC":"서울특별시 강남구 역삼동 622-8번지","VL_RAT":82.16979,"PLAT_AREA":885.8}, ...

 

혹시 해결 방법을 아시면 답변 부탁드립니다.

 

감사합니다.

 

 
  test.json
다운로드 수 | 2
    
MYSAS 시샵   [2017/08/08 3:33]
안녕하세요.
json 파일을 sas로 읽어와서 변수와 변수값 두 변수로 만드는 코드입니다.
해당 자료에서 필요에 따라 데이터를 수정하시면 되겠습니다.

data have1;
infile '저장된 위치\test.json' recfm=n dlm='{}[]';
input value : $200. @@;
if _n_>=11;
run;

data have2;
set have1;
var=dequote(scan(value1":"));
data=dequote(scan(value2":"));
drop value;
run;
MYSAS 시샵   [2017/08/08 3:35]
위의 코드에 dlm='{}[]';부분에 두 괄호 사이에 콤마가 보이지 않네요..
백승민   [2017/08/09 6:47]
최신 SAS 9.4 (1M4)을 사용하면 libname (JSON Engine)을 사용하면 쉽게 읽을 수 있고 이전 버젼이라면 PROC IML을 사용하여서 R의 jsonlite 패키지 사용하도록 프로그램을 구현해보았습니다. 다음 주소를 참고하세요 : http://cafe.daum.net/statsas/3F8j/354
 
 변수 순서 바꾸기
 sas file server 작동이 잘 안되요