zoukankan      html  css  js  c++  java
  • SAS 中读取文件的方式

    首先明确文件的格式:

    1. 文本文件

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

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

     (1)使用空格分隔

    原始数据为:

    1 * 使用空格分隔的文件数据 ;
    2 data temp;
    3 infile "C:UsershrDesktopperson
    aw.txt" delimiter=" ";
    4 input age weight;
    5 run;
    6 
    7 proc print data=temp;
    8 run;

     结果是:

    (2)使用逗号、冒号隔开,只需要将 delimiter= 中的内容换掉即可,其他同上。

    1 * 使用空格分隔的文件数据 ;
    2 data temp;
    3 infile "C:UsershrDesktopperson
    aw.txt" delimiter=",";
    4 input age weight;
    5 run;
    6 
    7 proc print data=temp;
    8 run;

    (3)使用 tab 隔开

    1 * 使用tab分隔的文件数据 ;
    2 data temp;
    3 infile "C:UsershrDesktopperson
    aw.txt" delimiter="09"x;
    4 input age weight;
    5 run;
    6 
    7 proc print data=temp;
    8 run;

    对于 xlsx 文件,和上面两个不太一样。

    原始数据为:

    (1)使用 sql 语句进行读取

     1 * 读取表格文件的方法 ;
     2 /* 第一种使用 sql 语句 */
     3 proc sql;
     4 connect to excel(path="C:UsershrDesktopperson
    aw.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;

    结果为:

    (2)使用 import procedure 进行读取,常使用这个,这个可以使用多个格式的文件。

     1 /* 使用 proc import 导入外部文件 */
     2 proc import out=Mysas.person2 datafile="C:UsershrDesktopperson
    aw.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 
    11 proc print data=person;
    12 run;

    结果为:

  • 相关阅读:
    MongoDB开发应用实战
    throw 与 throws的应用
    JAVA异常
    【354】Numpy 相关函数应用
    【353】线性回归损失函数求导举例
    【352】矩阵转置性质
    【351】实数对向量求导公式及推导
    【350】机器学习中的线性代数之矩阵求导
    智能电视TV开发---客户端和服务器通信
    GPS两点的距离
  • 原文地址:https://www.cnblogs.com/elkan/p/11126684.html
Copyright © 2011-2022 走看看