🛸

5.1.4. 데이터 가져오기 / 내보내기

목차

1. 새로운 데이터 가져오기를 이용해 데이터 셋 불러오기

 
notion imagenotion image
 
오른쪽 상단에 있는 점 7개 메뉴를 누르시고 새로운 데이터 가져오기를 선택해주세요. 파일 선택 후 내 폴더에 있는 데이터를 가져옵니다.
 
notion imagenotion image
 
드래그앤드롭을 하셔도 되고 파일선택 버튼을 클릭하셔서 아래와 같이 불러오셔도 됩니다.
notion imagenotion image
 
notion imagenotion image
 
데이터를 가지고 오면 구분자에 따라 값을 나누고 파일유형을 선택하면 됩니다. 이때 라이브러리 설정도 가능합니다.
 
notion imagenotion image
 
아래 달리기 버튼을 클릭해줍니다.
 
notion imagenotion image
 
출력 데이터 값 입니다.
 
notion imagenotion image
 
출력 결과입니다.
 
notion imagenotion image
 
데이터를 가져오기 위해서는 소스코드가 필요합니다. 이 코드를 어떻게 작성했는지도 확인할 수 있습니다.
 
notion imagenotion image
 

2. 기존 데이터셋 가져오기

data 라이브러리.데이터셋; /* 새로운 테이블 */ set 라이브러리.데이터셋; /* 기존 테이블 */ run;
set을 이용해 기존에 있는 테이블을 가져 올 수 있습니다 .

3. 파일 가져오기 / 내보내기

 
이번에는 CSV, EXCEL 등과 같이 파일 형식으로 되어있는 데이터를 데이터 셋으로 가져오는 방법에 대해 알아보도록 하겠습니다.
가져오기 하실 때는 import를 이용하시고 내보내기 하실 때에는 export 를 하시면 됩니다.

3.1 CSV 파일 가져오기

FILENAME CSV "csv 파일경로" TERMSTR=CRLF; /* 윈도우 csv만 해당하는 소스 */ FILENAME CSV "csv 파일경로" TERMSTR=LF; /* 맥, 리눅스 csv만 해당하는 소스 */ proc import datafile="csv 파일 경로" out=라이브러리.데이터셋 dbms=csv replace; run;
 
  • DATAFILE : 파일이있는 물리적주소와 이름입니다.
  • OUT : 불러온 파일을 저장할 데이터셋을 지정해주는 부분입니다.
  • DBMS : 불러올 데이터 타입입니다.
  • REPLACE :기존에 데이터셋이 있는 경우 덮어씌우겠다는 뜻입니다.

3.2 데이터셋을 CSV 파일로 내보내기

proc export outfile="폴더 경로/파일명.csv" data=라이브러리.데이터셋명 dbms=csv replace; %let _DATAOUT_MIME_TYPE=csv; %let _DATAOUT_NAME=내보내기파일명.csv;
 
  • outfile : 파일을 저장할 물리적주소와 이름을 말합니다.
  • data : 파일로 만들고싶은 데이터셋을 말합니다.
  • firstobs=2 : 2번째 관측치부터 가져 올 수 있습나다.

3.3 EXCEL 파일 가져오기

proc import datafile="excel 파일 경로" out=라이브러리.데이터셋 dbms=xlsx replace; run;

3.4 데이터셋을 EXCEL 파일로 내보내기

proc export outfile="폴더 경로/파일명.xlsx" data=라이브러리.데이터셋명 dbms=xlsx replace;

3.5 TEXT 파일 가져오기

proc import datafile="txt 파일 경로" out=라이브러리.데이터셋명 dbms=dlm replace; delimiter='구분자'; getnames=yes; run;
 
  • delimiter: 가져오는 파일에 구분자가 있는 경우에 쓰입니다.
  • getnames : 가져오는 파일에 첫번째 행을 변수로 지정하고 싶을 경우 yes 아니면 no로 지정하시거나 getnames 함수를 적지 않으시면 됩니다.

3.6 데이터셋을 TEXT 파일로 내보내기

proc export outfile="폴더 경로/파일명.xlsx" data=라이브러리.데이터셋명 dbms=tab replace;
 

4. 외부파일을 데이터 셋로 불러오기

4.1 구분자가 공백일 경우

data 라이브러리명.데이터셋; infile "외부파일 경로"; input 변수명 $ 변수명; run;

4.2 구분자가(,.\ -등)일 경우

data 라이브러리명.데이터셋; length 변수명 $12 변수명 $18; infile '외부파일 경로' DELIMITER='구분자'; input 변수명 $ 변수명 ; run;
 
INFILE 이전에는 INPUT 명령어를 통해 변수를 지정해줘야 합니다. INFILE은 데이터를 불러오는 기능만 있고 변수명을 만들거나 길이 지정, 데이터를 입력하는 기능은 없기 때문입니다.
 

5. 출력값 내보내기

ODS : output delivery system
분석 결과를 html, pdf 등 다양한 파일 형식으로 내보낼 때 사용합니다.
 
ods 저장형식 file='물리적주소'; proc print data=mysas.data1; run; ods 저장형식 close;
 
💡
대표적인 저장형식종류 html: .html pdf : .pdf