0

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

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

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

你有解决办法吗?

谢谢。

4

2 回答 2

1

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

于 2013-10-25T13:43:01.113 回答
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 参数设置得更高,以便为过程提供更有根据的猜测。

于 2014-11-07T22:52:16.763 回答