【问题标题】:SAS skip last row with unknown number of rows in proc importSAS跳过proc导入中行数未知的最后一行
【发布时间】:2014-12-02 02:51:00
【问题描述】:

情况,如果我在导入之前手动删除文件的最后一行,我可以导入“xls”文件。我事先不知道文件中的观察次数,因此我不能使用endrow = XX 语句跳过最后一行。

proc import 
    out = testing
    datafile = "C:\data\file1.xls"
    dbms = xls replace;
    namerow = 4;
    startrow = 6;
run;

谢谢

【问题讨论】:

  • 导入文件后能否删除最后一行?
  • 我可以手动删除它。虽然我想安排 sas 任务并需要解决这个问题。
  • 我能想到的唯一方法是读取文件一次,将 obs 的数量存储到宏变量中,然后使用 obs 选项重新读取。在第二个数据步骤中使用 end 选项删除最后一个 obs 似乎仍然更容易,这在我的脑海中不是“手动”。
  • 我是否理解PROC IMPORT 如果您不删除该行会失败?如果是这样,你会得到什么错误?
  • @Reese 您应该将其发布为答案而不是评论。

标签: import sas


【解决方案1】:

您可以先将 .xls 保存为 .csv 文件吗?然后您可以改用数据步骤,并根据最后一次观察检查或 if then 检查特定数据来消除最后一行。但是在这里你必须自己设置名字,你没有'getnames'选项。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-10
    • 2020-06-20
    相关资源
    最近更新 更多