在SAS中导入:显示为日期的字符

时间:2013-10-25 12:05:00

标签: sas

我想使用以下语句导入csv数据库:

PROC IMPORT OUT= WORK.claims 
DATAFILE= database.csv'
DBMS=csv REPLACE;
DELIMITER=",";
GETNAMES=YES;       
RUN;

问题是我有一个“25/10 / 2013abcedfg:1234”形式的变量,我想将其视为字符串。但SAS认为它就像一个约会,并把日期格式。然后我收到一条错误消息,因为它当然不是约会。

你有解决方案吗?

感谢。

2 个答案:

答案 0 :(得分:1)

可能只是不依赖于PROC IMPORT并在数据步骤中编写导入。 PROC IMPORT应在您的日志中生成其import datastep,使用它并进行调整。

答案 1 :(得分:0)

使用输入语句

而不是PROC IMPORT
DATA WORK.claims;
format crazyvar $25 obs_num this_value 8.;
infile "database.csv" lrecl = 500 /** Number of columns you'll need **/ 
pad = end /** Prevents truncation **/
dsd delimiter = ',' /**Delimiter Sensitive Data, and sets delimiter to comma **/ ; 
input obs_num crazyvar $ this_value;
run;

与Vasja一致,PROC IMPORT有它的用途,但它并不总是对你想要读入的数据类型敏感。本地它读取了一定数量的行(我认为默认情况下是前20行)和猜测它是什么类型的变量。

如果您需要使用PROC IMPORT,可以将GUESSINGROWS参数设置得更高,以便为程序提供更有根据的猜测。