SAS中数据的导入(1)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SAS中数据的导入(1)相关的知识,希望对你有一定的参考价值。
参考技术A[TOC]
SAS中数据导入可以有四种类别
建立SAS数据集的的5种方法
以导入CSV文件为例
若文件为原始文件(例如文本文件),SAS也可以很方便的读取。
这种数据类型在第三小节提到了,也就是原始数据文件中的所有值之间都至少有一个空格分隔,合适的方法是使用列表输入(自由格式输入)。
列表输入的局限性。必须读取全部数据,不能跳过不需要的值;任何缺失都必须用句点标识;字符型数据长度默认不能超过8个字符且不能有内嵌空格;不太适合读取日期格式数据。
数据的值或者缺失值的句点之间没有空格(或者其他分隔符),则无法使用列表输入来读取数据。但是,如果每个变量值都能在数据行的相同位置找到,就可以用列输入来读取。这些数据应是标准数值数据(数字、小数点、正负号、科学计数法),带有内嵌逗号(100,000)和日期格式的数值不是标准数值类型。
列输入对比列表输入的优势:值之间无须空格;缺失值可以留空;字符型数据可以内嵌空格;可以跳过不需要的变量。
在第4节中提到,用列表或列输入时非标准字符不能正确识别,如日期,内嵌逗号的数字等。
输入格式的三种基本类型:字符、数值和日期。
注 意 :
参考文献
The little SAS Book, Fifth Edition.
SAS 的导入导出 excel 表格的实现
首先 SAS 可以使用手动来导入,导出
但是这样对于每次操作都需要来手动操作,所以就使用了 SAS 中的宏来编写代码
需求:
1. 首先是给定excel 的文件路径,来生成一个数据集
2. 然后是对数据集中进行数据的处理
3. 最后是对处理好的数据集导出为一个excel 格式的文件
例子:
1 /* 导入excel的数据 */ 2 %macro import_excel(filepath, out); 3 proc import datafile=&filepath out=&out dbms=excel replace; 4 run; 5 %mend import-excel; 6 7 /* 导出excel的数据 */ 8 %macro export_excel(dataset, filepath); 9 proc export data=&dataset file=&filepath dbms=excel replace; 10 run; 11 %mend export_excel(); 12 13 /* 调用导入宏 */ 14 %import_excel(‘C:\\Users\\ZEK\\Desktop\\test.xlsx‘, a); 15 run; 16 17 /* 处理数据集 */ 18 data process; 19 set a; 20 if age>14 then desc=‘已满14岁‘; 21 else desc=‘未满14岁‘; 22 run; 23 24 /* 调用导出宏 */ 25 %export_excel(process, ‘C:\\Users\\ZEK\\Desktop\\temp.xlsx‘); 26 run;
结果:
在日志窗口中会输出这样的一个日志.
注意:
在编写代码的时候,最需要注意的是,导入和导出的语句是不一样的
导入为:
proc import datafile=路径名称 out=数据集名称 dbms=excel replace;
导出为:
proc export data=数据集名称 file=路径名称 dbms=excel replace;
千万要注意!!!!!!!!!!!!!!!!!!!!!!!
以上是关于SAS中数据的导入(1)的主要内容,如果未能解决你的问题,请参考以下文章