首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将excel工作表导入SAS

将excel工作表导入SAS
EN

Stack Overflow用户
提问于 2019-05-27 03:59:29
回答 1查看 190关注 0票数 0

我正在尝试使用以下代码将我从Kaggle下载的(.csv)excel文件导入到SAS中:

代码语言:javascript
复制
PROC IMPORT OUT= Sasuser.HeartDisease DATAFILE= "C:\Users\PCPCPC\Documents\StatDatas\heart" 
            DBMS=excel REPLACE;
     SHEET="auto"; 
     GETNAMES=YES;
RUN;

然而,它给出了我的这个错误:

代码语言:javascript
复制
931  PROC IMPORT OUT= Sasuser.HeartDisease DATAFILE= "C:\Users\PCPCPC\Documents\StatDatas\heart.xlsx"
932              DBMS=excel REPLACE;
933       SHEET="auto";
934       GETNAMES=YES;
935  RUN;

ERROR: Unable to open file C:\Users\PCPCPC\Documents\StatDatas\heart.xlsx. It does not  exist or it
       is already opened exclusively by another user, or you need permission to view its data.
NOTE: The SAS System stopped processing this step because of errors.
NOTE: PROCEDURE IMPORT used (Total process time):
      real time           0.35 seconds
      cpu time            0.29 seconds

我在文件系统中的文件如下所示:

以下是该文件的属性:

EN

回答 1

Stack Overflow用户

发布于 2019-05-27 22:46:13

首先,CSV文件不是EXCEL文件,即使您的操作系统选择使用EXCEL作为默认程序来打开文件名中带有该扩展名的文件。CSV文件只是一个文本文件。您可以使用任何文本编辑器(包括SAS程序编辑器)查看它。所以CSV文件的扩展名应该是.csv

为了避免这种混乱,您可以告诉您的操作系统显示完整的文件名。这里有一个链接,指向在Windows10中如何执行此操作的说明。https://www.thewindowsclub.com/show-file-extensions-in-windows

可以对CSV文件使用PROC IMPORT。

代码语言:javascript
复制
proc import 
  replace out= Sasuser.HeartDisease 
  datafile= "C:\Users\PCPCPC\Documents\StatDatas\heart.csv" 
  dbms=csv
;
run;

但是因为它们只是纯文本文件,所以您也可以编写自己的数据步骤来读取文件。然后,您将完全控制变量名称以及变量的定义方式。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56316937

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档