Как выполнить импорт из неочищенного CSV-файла / входных переменных другого формата и заголовка в файле? - PullRequest
0 голосов
/ 06 января 2012

Мой входной файл находится в "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 Ответ

3 голосов
/ 06 января 2012

Мне не удалось заставить импорт делать то, что вы хотели, возможно, другой ответ поможет с 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;

Обновите ваш вопрос дополнительными вопросами, если это приемлемое решение, и вам нужна помощь в вводе данных, которые читаются.

...