
[TOC]
SAS中数据导入可以有四种类别
建立SAS数据集的的5种方法
以导入CSV文件为例
若文件为原始文件(例如文本文件),SAS也可以很方便的读取。
这种数据类型在第三小节提到了,也就是原始数据文件中的所有值之间都至少有一个空格分隔,合适的方法是使用列表输入(自由格式输入)。
列表输入的局限性。必须读取全部数据,不能跳过不需要的值;任何缺失都必须用句点标识;字符型数据长度默认不能超过8个字符且不能有内嵌空格;不太适合读取日期格式数据。
数据的值或者缺失值的句点之间没有空格(或者其他分隔符),则无法使用列表输入来读取数据。但是,如果每个变量值都能在数据行的相同位置找到,就可以用列输入来读取。这些数据应是标准数值数据(数字、小数点、正负号、科学计数法),带有内嵌逗号(100,000)和日期格式的数值不是标准数值类型。
列输入对比列表输入的优势:值之间无须空格;缺失值可以留空;字符型数据可以内嵌空格;可以跳过不需要的变量。
在第4节中提到,用列表或列输入时非标准字符不能正确识别,如日期,内嵌逗号的数字等。
输入格式的三种基本类型:字符、数值和日期。
注 意 :
参考文献
The little SAS Book, Fifth Edition.
data abcinfile 'D:\sas\ab.txt'
input name $9. @12 jobhist $35. @48 manger :$9.
**最后一个必须为冒号修正符
run
另外这里有几种方法,
也就是inflie 有好几个选项:MISSOVER TRUNCOVER PAD 自己试试看有什么不一样,
这三个选项各用法不一样,而系统默认为MISSOVER
这里必须改为
data abc
infile 'D:\sas\ab.txt' TRUNCOVER
input name $9. @12 jobhist $35. @48 manger $9.
run
proc import out=saslib.contect /*生成在saslib逻辑库中*/datafile="C:\sas\data\text.xlsx" /* 需要导入表的目录*/
dbms=xlsx replace /*指定输出格式为xlsx*/
range='sheet1' /*指定读取excel工作簿*/
run
其他文件类似,把dbms选项换成别的格式名即可
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)