将excel工作表导入SAS

将excel工作表导入SAS,sas,Sas,我正在尝试使用以下代码将从Kaggle下载的(.csv)excel文件导入SAS: PROC IMPORT OUT= Sasuser.HeartDisease DATAFILE= "C:\Users\PCPCPC\Documents\StatDatas\heart" DBMS=excel REPLACE; SHEET="auto"; GETNAMES=YES; RUN; 但是,它给出了以下错误: 931 PROC IMPORT OUT= Sas

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

PROC IMPORT OUT= Sasuser.HeartDisease DATAFILE= "C:\Users\PCPCPC\Documents\StatDatas\heart" 
            DBMS=excel REPLACE;
     SHEET="auto"; 
     GETNAMES=YES;
RUN;
但是,它给出了以下错误:

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
文件系统中的我的文件如下所示:

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

为了避免这种混淆,您可以告诉您的操作系统显示完整的文件名。下面是一个链接,指向如何在Windows 10中执行此操作的说明

可以对CSV文件使用PROC导入

proc import 
  replace out= Sasuser.HeartDisease 
  datafile= "C:\Users\PCPCPC\Documents\StatDatas\heart.csv" 
  dbms=csv
;
run;

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

您首先编写它是一个CSV文件,然后它有扩展名XLSX(这不是CSV,而是OOXML)。你必须决定。我把文件的属性附在了图片上。在属性中,它表示它是一个csv文件。但是该文件的图标是excel,我尝试了xmsl,但没有成功。您应该能够找到文件的全名。尝试
heart.csv
。Thant有效!非常感谢。