如何从未清理的csv文件/不同格式的输入变量&文件中的标题?

时间:2012-01-06 17:52:49

标签: import format sas

我的输入文件是“CSV”,但我有2个问题

1。我的变量名在第3行开始,如何编写代码以开始从第3行读取名称并从第4行获取值?

2。 acct_num在进程中有一些拼写错误(空格, - 破折号)这个强制错误,所以我无法将文件导入到sasdataset。 (我知道我在sasdataset中执行此操作,但不确定如何将此导入到SAS)

PROC IMPORT DATAFILE="c:\temp\bad.csv" OUT=table1 DBMS=CSV REPLACE;
    GETNAMES=YES;
    DATAROW=2;
RUN;

line1   Title_name  
line2       
line3   acct_name   acct_num
line4   A          12345
line5   B          12    345
line6   C          12-345
line7   D          1234
line8   E          123

SAS虚拟

1 个答案:

答案 0 :(得分:3)

我无法让导入执行您想要的操作,也许另一个答案将有助于PROC IMPORT ....但是,您可以使用INFILE语句。此解决方案假定您知道您的变量名称。

假设您的文件如下所示:

title_name

acct_name,acct_num
A,12345
B,12    345
C,12-345
D,1234
E,123

以下代码将从第4行开始阅读。

filename csv "C:\Documents and Settings\jsc\Desktop\csv_infile.csv";

data Work.temp;

 infile csv dlm=',' dsd missover lrecl=1000 firstobs=4;
 input acct_name $ acct_num $ ;

 <code to fix any values in acct_name or acct_num, if any>

run;

如果这是一个可接受的解决方案,并且需要帮助处理读入的数据,请使用其他问题更新您的问题。