sas数据导入终极汇总-之一

将数据文件读入SAS ——DATA Step / PROC IMPORT
     1.将SAS文件读入SAS——
     data sasuser.saslin;
        set "F:\sas1.sas7bdat";
     run;
     proc contents data=sasuser.saslin;
     run;


     2.将其他形式文件导入成SAS ——PROC IMPORT / 直接读入其他形式文件
     proc import datafile = "c:\data\hsb2.sav" out= work.hsb2;
     run;
     proc contents data=hsb2;
     run;
     SAS导入数据:SAS recognizes the file type to be imported by file extension.
对数据长度的限制
      在一些操作环境,SAS假定外部文件的纪录对最长为256(一行数据包括空格等所有字符在内的长度),如果预计读入的纪录长度超过256,可在Infile语句中使用LRECL=n 这个命令。
读入以空格作为分隔符的原始数据
      如果原始数据的不同变量之间是以至少一个空格作为分隔符的,那可以直接采用List方法将这些数据读入SAS。
List Input读数据非常方便,但也有很多局限性:
(1)          不能跳过数据;
(2)          所有的缺失值必须以点代替
(3)          字符型数据必须是不包含空格的,且长度不能超过8;
(4)          不能直接读入日期型等特殊类型的数据。
程序举例:
INPUT Name $ Age Height;

                                 读入按列组织的数据
有些原始数据的变量之间没有空格或其他分隔符,因此这样的文件不能以List形式对入SAS。但若不同变量值的都在每条记录的固定位置处,则可以按照Column 形式读入数据。Colunm读数据方法要求所有的数据均为字符型或者标准的数值型(数值中仅包括数字,小数点,正负号,或者是E,不包括逗号或日期型数据)。
相对于List方法,Column读数据方法有如下优点:
(1)          变量值之间无需用空格分开;
(2)          可以空格表示缺失值;
(3)          字符型数据中可包括空格;
(4)          可跳过数据。
程序举例:
INPUT Name $ 1-10 Age 11-13 Height 14-18;
使用格式命令读入非标准格式的数据
字符型数据: $informat w.
数值型数据:    informat w.d
日期型数据:    Datew.
(1)字符型:
$CHARw. :不删除前后空格,读入字符数据;
$HEXw. :将16进制的数据转化成字符数据;
$w.         :删除前面空格,读入字符数据;
(2)日期,时间或日期时间型数据
DATEw.                :以ddmmmyy或ddmmmyyyy形式读入日期;
DATETIMEw. :以ddmmmyy hh:mm:ss.ss 形式读入日期时间;
DDMMYYw.       :以ddmmyy或ddmmyyyy读入日期;
JULIANw.            :以yyddd或yyyyddd读入Julia日期;
MMDDYYw.       :以mmddyy或mmddyyyy形式读入日期;
TIMEw.                   :以hh:mm:ss.ss形式读入时间;
(3)数值型数据
COMMAw.d          :读入数值型数据,将其中的逗号,$ 删除,并将括号转化为负号
HEXw.     
  • 4
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值