我想使用以下语句导入csv数据库:
PROC IMPORT OUT= WORK.claims
DATAFILE= database.csv'
DBMS=csv REPLACE;
DELIMITER=",";
GETNAMES=YES;
RUN;
问题是我有一个“25/10 / 2013abcedfg:1234”形式的变量,我想将其视为字符串。但SAS认为它就像一个约会,并把日期格式。然后我收到一条错误消息,因为它当然不是约会。
你有解决方案吗?
感谢。
答案 0 :(得分:1)
可能只是不依赖于PROC IMPORT并在数据步骤中编写导入。 PROC IMPORT应在您的日志中生成其import datastep,使用它并进行调整。
答案 1 :(得分:0)
使用输入语句
而不是PROC IMPORTDATA 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参数设置得更高,以便为程序提供更有根据的猜测。