В этой статье блога мы рассмотрим различные методы импорта файлов, разделенных вертикальной чертой, в SAS. Файлы с разделителями-вертикальными чертами — это распространенный формат данных, в котором поля в записи разделяются символом вертикальной черты (|). Мы обсудим различные подходы к работе с файлами данных этого типа, а также приведем примеры кода, которые помогут вам эффективно импортировать и обрабатывать данные в SAS.
Метод 1: использование оператора INFILE с опцией DSD:
filename myfile 'path_to_file.txt';
data mydata;
infile myfile dsd dlm='|' firstobs=2;
input var1 var2 var3;
run;
Объяснение: В этом методе мы определяем входной файл с помощью оператора filename, указывая путь к файлу. Оператор infileиспользуется для чтения файла, а параметр dsdрассматривает последовательные разделители как пропущенные значения. Параметр dlmуказывает символ вертикальной черты в качестве разделителя. Опция firstobsиспользуется для пропуска строки заголовка. Наконец, оператор inputопределяет переменные для чтения из файла.
Способ 2. Использование процедуры ИМПОРТ:
proc import datafile='path_to_file.txt'
out=mydata
dbms=dlm
replace;
delimiter='|';
getnames=no;
run;
Объяснение: Процедура IMPORT предоставляет удобный способ импорта различных типов файлов данных в SAS. В этом методе мы указываем файл данных с помощью параметра datafile, а параметр outопределяет имя набора данных SAS. Для параметра dbmsустановлено значение dlm, чтобы указать файл с разделителями. Параметр delimiterиспользуется для указания вертикальной черты в качестве разделителя. Для параметра getnamesустановлено значение no, чтобы указать, что в первой строке файла нет имен переменных.
Метод 3. Использование оператора DATALINES с оператором INPUT:
data mydata;
infile datalines dlm='|' truncover;
input var1 var2 var3;
datalines;
value1|value2|value3
value4|value5|value6
...
;
run;
Объяснение: Этот метод подходит для небольших наборов данных или если вы хотите напрямую указать данные в программе SAS. Оператор datalinesуказывает, что данные предоставляются внутри программы. Параметр dlmуказывает символ вертикальной черты в качестве разделителя. Параметр truncoverне позволяет SAS обрезать значения, превышающие определенные переменные.
Метод 4. Использование оператора FILENAME с параметром DLM:
filename myfile pipe 'command_to_generate_file';
data mydata;
infile myfile dlm='|';
input var1 var2 var3;
run;
Объяснение: Этот метод полезен, когда файл, разделенный вертикальной чертой, создается как результат выполнения команды или другой программы. Оператор filenameс опцией pipeпозволяет читать вывод команды в виде файла. Укажите команду для создания файла в одинарных кавычках. Затем оператор infileиспользуется для чтения файла, а параметр dlmуказывает символ вертикальной черты в качестве разделителя.
Импорт файлов с разделителями-вертикальными чертами в SAS — распространенная задача при обработке данных. В этой статье мы рассмотрели несколько методов выполнения этой задачи, включая использование инструкции INFILE, процедуры IMPORT, инструкции DATALINES и инструкции FILENAME. Каждый метод имеет свои преимущества и может использоваться в зависимости от конкретных требований вашего процесса импорта данных. Используя эти методы, вы можете эффективно импортировать и обрабатывать файлы с разделителями-каналами в SAS, обеспечивая эффективный анализ и обработку данных.