我尝试使用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)
答案 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;