SAS中读取文件的方式
首先明确文件的格式:
1. 文本文件
2. xlsx 文件(电子表格文件)
对于文本文件,由于有很大的变化性,比如使用空格分隔,使用逗号分隔,使用冒号分隔等等,当然也可以按列读取。
(1)使用空格分隔
原始数据为:
* 使用空格分隔的文件数据 ;
data temp;
infile "C:\Users\hr\Desktop\person\raw.txt" delimiter=" ";
input age weight;
run;
proc print data=temp;
run;
结果是:
(2)使用逗号、冒号隔开,只需要将 delimiter= 中的内容换掉即可,其他同上。
* 使用空格分隔的文件数据 ;
data temp;
infile "C:\Users\hr\Desktop\person\raw.txt" delimiter=",";
input age weight;
run;
proc print data=temp;
run;
(3)使用 tab 隔开
* 使用tab分隔的文件数据 ;
data temp;
infile "C:\Users\hr\Desktop\person\raw.txt" delimiter="09"x;
input age weight;
run;
proc print data=temp;
run;
对于 xlsx 文件,和上面两个不太一样。
原始数据为:
(1)使用 sql 语句进行读取
* 读取表格文件的方法 ;
/* 第一种使用 sql 语句 */
proc sql;
connect to excel(path="C:\Users\hr\Desktop\person\raw.xlsx");
create table person as
select
*
from
connection
to
excel(select * from );
disconnect from excel;
quit;
结果为:
(2)使用 import procedure 进行读取,常使用这个,这个可以使用多个格式的文件。
/* 使用 proc import 导入外部文件 */
proc import out=Mysas.person2 datafile="C:\Users\hr\Desktop\person\raw.xlsx" dbms=excel replace;
range = "Sheet1$";
getnames = yes;
mixed = no;
scantext = yes;
usedate = yes;
scantime = yes;
run;
proc print data=person;
run;
结果为:
页:
[1]