设为首页收藏本站

EPS数据狗论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2835|回复: 0

SAS中读取文件的方式

[复制链接]

30

主题

284

金钱

420

积分

入门用户

发表于 2019-10-30 15:33:27 | 显示全部楼层 |阅读模式

首先明确文件的格式:

1. 文本文件

2. xlsx 文件(电子表格文件)

对于文本文件,由于有很大的变化性,比如使用空格分隔,使用逗号分隔,使用冒号分隔等等,当然也可以按列读取。

(1)使用空格分隔

原始数据为:
1.png
  1. * 使用空格分隔的文件数据 ;
  2. data temp;
  3. infile "C:\Users\hr\Desktop\person\raw.txt" delimiter=" ";
  4. input age weight;
  5. run;

  6. proc print data=temp;
  7. run;
复制代码

结果是:
2.png

(2)使用逗号、冒号隔开,只需要将 delimiter= 中的内容换掉即可,其他同上。
  1. * 使用空格分隔的文件数据 ;
  2. data temp;
  3. infile "C:\Users\hr\Desktop\person\raw.txt" delimiter=",";
  4. input age weight;
  5. run;

  6. proc print data=temp;
  7. run;
复制代码


(3)使用 tab 隔开
  1. * 使用tab分隔的文件数据 ;
  2. data temp;
  3. infile "C:\Users\hr\Desktop\person\raw.txt" delimiter="09"x;
  4. input age weight;
  5. run;

  6. proc print data=temp;
  7. run;
复制代码


对于 xlsx 文件,和上面两个不太一样。
原始数据为:
3.png

(1)使用 sql 语句进行读取
  1. * 读取表格文件的方法 ;
  2. /* 第一种使用 sql 语句 */
  3. proc sql;
  4. connect to excel(path="C:\Users\hr\Desktop\person\raw.xlsx");
  5. create table person as
  6. select
  7.     *
  8. from
  9.     connection
  10. to
  11.     excel(select * from [sheet1$]);
  12. disconnect from excel;
  13. quit;
复制代码


结果为:
4.png

(2)使用 import procedure 进行读取,常使用这个,这个可以使用多个格式的文件。
  1. /* 使用 proc import 导入外部文件 */
  2. proc import out=Mysas.person2 datafile="C:\Users\hr\Desktop\person\raw.xlsx" dbms=excel replace;
  3.     range = "Sheet1$";
  4.     getnames = yes;
  5.     mixed = no;
  6.     scantext = yes;
  7.     usedate = yes;
  8.     scantime = yes;
  9. run;

  10. proc print data=person;
  11. run;
复制代码


结果为:
5.png
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

客服中心
关闭
在线时间:
周一~周五
8:30-17:30
QQ群:
653541906
联系电话:
010-85786021-8017
在线咨询
客服中心

意见反馈|网站地图|手机版|小黑屋|EPS数据狗论坛 ( 京ICP备09019565号-3 )   

Powered by BFIT! X3.4

© 2008-2028 BFIT Inc.

快速回复 返回顶部 返回列表