【问题标题】:SAS Import - file does not existSAS 导入 - 文件不存在
【发布时间】:2016-04-20 19:55:52
【问题描述】:

我正在尝试将 Excel 工作表导入 SAS,但由于某种原因,SAS 无法找到工作簿。这是我得到的代码和错误:

PROC IMPORT Out=Transactionsmaster DATAFILE="C:\Users\me\Documents\Transactions"
DBMS=XLSX Replace;
GETNAMES=YES;
RUN;

错误:XLSX 文件不存在 -> /config/Lev1/SASApp/C:\Users\me\Documents//Transactions.xlsx

我必须先将 excel 表导入 SASApp 吗?有没有办法在不使用导入向导的情况下做到这一点?

提前致谢!

【问题讨论】:

    标签: excel import sas


    【解决方案1】:

    我们来看看错误信息:

    ERROR: XLSX file does not exist -> /config/Lev1/SASApp/C:\Users\me\Documents//Transactions.xlsx
    

    查看文件路径。

    /config/Lev1/SASApp/
    

    显然是 Linux/Unix 服务器上的路径。这是运行 Workspace 服务器时的默认位置。由此,我猜你是通过 Enterprise Guide (EG) 连接到 SAS 的。

    C:\Users\me\Documents//Transactions.xlsx
    

    这是您输入的路径。

    那么发生了什么? SAS 在远程服务器上运行——运行 Linux/UNIX 的服务器。您要求 SAS 打开“C:\Users\me\Documents//Transactions.xlsx”。

    但是,“C:\stuff\more\file”在 Linux/UNIX 上不是有效的文件系统路径。所以 SAS 假设这是文件名并在默认位置“/config/Lev1/SASApp”中查找它

    要解决此问题,您需要将 XLSX 文件上传到服务器。然后在代码中使用服务器上文件的路径。如果您不确定如何执行此操作,请咨询您的系统管理员。

    或者,您可以使用 EG 中的数据导入向导。我不喜欢它,因为它有时会把事情搞砸,但它确实有效。

    【讨论】:

    • 这听起来像是问题所在,非常感谢!
    • N/p。这实际上是一个普遍的问题。我一直在为我们的用户回答这个问题。如果这完全回答了问题,请接受。
    【解决方案2】:

    如果您使用 Enterprise Guide 或 DI 运行此代码(即您将代码提交到远程 SAS 服务器),您需要将文件传输到服务器端。 您可以使用 PROC UPLOAD 传输文件。

    【讨论】:

      【解决方案3】:

      如果您还没有导入,请在导入之前关闭该文件。您可能还引用了示例中的文件夹而不是文件(除非 Transactions.xlsx 是您要导入的文件)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-02-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-11-19
        相关资源
        最近更新 更多