首页 > 解决方案 > SAS将excel数字列作为文本导入

问题描述

我有一个 Excel 文件,其中有一列格式化为“常规”。它包含数值,但我希望它作为文本导入。

当我使用:

PROC IMPORT OUT= test DATAFILE= "C:\file"
            DBMS=xlsx REPLACE;
     GETNAMES=YES;
RUN;

有时它作为数字导入,有时作为文本导入。如何始终将其作为文本导入?我在 Windows 7 和 excel 2010 上使用 sas 9.4。

即使这不起作用......它不会改变数据类型:

PROC IMPORT OUT= test DATAFILE= "C:\data.xlsx"
            DBMS=excel  REPLACE;
            DBDSOPTS= "DBTYPE=(Employee_No='CHAR(3)')";
     GETNAMES=YES;
RUN;

标签: sas

解决方案


这是您可以使用 PCFILES 方法而不是 XLSX 的一种方法。

libname test pcfiles path=  'c:\_localdata\demo.xlsx';

data want;
set test.'Sheet1$'n (dbsastype=Random=char8);
run;

libname test;

推荐阅读