如何将数据从 sas 导出到 excel(附示例)


您可以使用proc Export将数据从 SAS 快速导出到 Excel 文件。

此过程使用以下基本语法:

 /*export data to file called my_data.xlsx*/
proc export data =my_data
    outfile ="/home/u13181/my_data.xlsx"
    dbms =xlsx
    replace ;
    sheet ="FirstData";
run ;

以下是每行的作用:

  • data :要导出的数据集的名称
  • outfile :导出 Excel 文件的位置
  • dmbs :用于导出的文件格式
  • 替换:如果文件已存在则替换该文件
  • sheet : Excel 工作簿中的工作表上显示的名称

以下示例展示了如何在实践中使用此功能。

示例 1:将数据集导出到 Excel 工作表

假设我们在 SAS 中有以下数据集:

 /*create dataset*/
data my_data;
    inputABC ;
    datalines ;
1 4 76
2 3 49
2 3 85
4 5 88
2 2 90
4 6 78
5 9 80
;
run ;

/*view dataset*/
proc print data =my_data;

我们可以使用以下代码将此数据集导出到名为my_data.xlsx的 Excel 文件:

 /*export dataset*/
proc export data =my_data
    outfile ="/home/u13181/my_data.xlsx"
    dbms =xlsx
    replace ;
    sheet ="FirstData";
run ;

然后,我可以导航到计算机上导出文件的位置并在 Excel 中查看它:

Excel 中的数据是 SAS 数据集,Excel 工作簿中的工作表称为“第一数据”,正如我在proc 导出语句中指定的那样。

示例 2:将多个数据集导出到多个 Excel 工作表

假设我们有两个 SAS 数据集:

 /*create first dataset*/
data my_data;
    inputABC ;
    datalines ;
1 4 76
2 3 49
2 3 85
4 5 88
2 2 90
4 6 78
5 9 80
;
run ;

/*create second dataset*/
data my_data2;
    inputDEF ;
    datalines ;
1 4 90
2 3 49
2 3 85
4 5 88
2 1 90
;
run ;

我们可以使用以下代码将两个数据集导出到不同工作表中的同一个 Excel 文件中:

 /*export first dataset to first sheet in Excel*/
proc export data =my_data
    outfile ="/home/u13181/my_data.xlsx"
    dbms =xlsx
    replace ;
    sheet ="FirstData";
run ;

/*export second dataset to second sheet in Excel*/
proc export data =my_data2
    outfile ="/home/u13181/my_data.xlsx"
    dbms =xlsx
    replace ;
    sheet ="Second Data";
run ;

然后,我可以导航到计算机上导出文件的位置并在 Excel 中查看它。

标题为“First Data”的第一个工作表包含第一组数据:

标题为“第二数据”的第二张表包含第二组数据:

其他资源

以下教程解释了如何在 SAS 中执行其他常见任务:

如何标准化 SAS 中的数据
如何在SAS中重命名变量
SAS中如何删除重复项
SAS中如何用零替换缺失值

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注