Sas: как импортировать определенный диапазон из excel


Вы можете использовать оператор PROC IMPORT с параметром RANGE , чтобы импортировать определенный диапазон ячеек из файла Excel в SAS.

Для этого вы можете использовать следующий базовый синтаксис:

 /*import data from Excel file called basketball_data.xlsx*/
proc import out =my_data
    datafile ="/home/u13181/basketball_data.xlsx"
    dbms =xlsx
    replace ;
    getnames =YES;
    range ="Sheet1$C4:E11";
run ;

Вот что делает каждая строка:

  • out : имя, которое следует присвоить набору данных после импорта в SAS.
  • datafile : расположение файла Excel для импорта.
  • dmbs : формат импортируемого файла.
  • replace : Заменяет файл, если он уже существует.
  • getnames : использовать первую строку в качестве имен переменных (установите NO, если первая строка не содержит имен переменных)
  • диапазон : диапазон ячеек для импорта.

Обратите внимание, что в этом конкретном примере будут импортированы ячейки в диапазоне C4:E11 листа Sheet1 из файла Excel с именем Basketball_data.xlsx .

В следующих примерах показано, как использовать этот синтаксис на практике со следующим файлом Excel с именем Basketball_data.xlsx :

Пример 1. Импорт данных из файла Excel в SAS без указания диапазона.

Мы можем использовать следующий синтаксис для импорта файла Excel в набор данных SAS с именем my_data без указания конкретного диапазона ячеек для импорта:

 /*import data from Excel file called basketball_data.xlsx*/
proc import out =my_data
    datafile ="/home/u13181/basketball_data.xlsx"
    dbms =xlsx
    replace ;
    getnames =YES;
run ;

/*view dataset*/
proc print data =my_data; 

Поскольку мы не использовали оператор диапазона для указания диапазона импортируемых ячеек, SAS импортировал все ячейки до тех пор, пока не обнаружил данные на листе.

Пример 2. Импортируйте данные из файла Excel в SAS и укажите диапазон.

Мы можем использовать следующий синтаксис для импорта файла Excel в набор данных SAS с именем my_data и использовать опцию диапазона для импорта только определенного диапазона ячеек:

 /*import specific cells from Excel file called basketball_data.xlsx*/
proc import out =my_data
    datafile ="/home/u13181/basketball_data.xlsx"
    dbms =xlsx
    replace ;
    getnames =YES;
range ="Sheet1$C4:E11";
run ;

/*view dataset*/
proc print data =my_data; 

Поскольку мы использовали оператор диапазона для указания диапазона импортируемых ячеек, SAS импортировал из листа только ячейки в этом диапазоне.

Обратите внимание, что вы также можете передать именованный диапазон в оператор range .

Например, если диапазон ячеек C4:E11 имеет диапазон с именем my_range , вместо этого вы можете использовать аргумент range=”my_range” в инструкции PROC IMPORT .

Примечание . Полную документацию по оператору PROC IMPORT в SAS можно найти здесь .

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи в SAS:

Как импортировать файлы CSV в SAS
Как экспортировать данные из SAS в файл CSV
Как экспортировать данные из SAS в Excel

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *