如何从sas的第二行开始导入?

时间:2014-05-12 14:55:31

标签: sas

我尝试使用datarow oprion

proc import 
datafile = "C:....\Book1.xlsx"
out=test
dbms=excel replace
;
RANGE="'test$'"; 
datarow=2;          /* this line throws an error Statement is not valid or it is used out of proper order */

getnames=no ;
run;

当我使用上面没有datarow的代码时,文件导入正常。如何开始导入表格第二行?我也试过startrow(我有9.2)

3 个答案:

答案 0 :(得分:2)

当您使用getnames=no时,默认行为是从第1行读取。这就是您收到错误的原因。

尝试设置默认情况下从第2行读取的getnames=yes

答案 1 :(得分:1)

如果您正在使用自定义范围,就像您在该代码中那样,您无法阻止它占据第一行(除非它们被名称使用,但您拒绝使用)。您需要重新创建范围以不包括第一行。

如果他们不会损害导入(即,他们不会导致数据类型发生变化),您可以通过对数据集进行子集化来消除第一行(如何取决于数据的具体情况) )。

答案 2 :(得分:0)

下面是对我有用的;数据可以是xlsx或xlsm(至少是我测试过的):

PROC IMPORT OUT=Out_Table
    DATAFILE=Import_File
    DBMS=EXCEL REPLACE;
    SHEET="Sheetname$";
    RANGE="A2:S";
    GETNAMES=YES;
    MIXED=YES;
run;