Мэйнфрейм SAS для автоматического чтения имен столбцов CSV

#csv #import #sas #mainframe

#csv #импорт #sas #мэйнфрейм

Вопрос:

Есть ли какой-либо способ автоматического чтения имен столбцов CSV в среде мэйнфрейма, поскольку ИМПОРТ PROC не поддерживается в мэйнфрейме? Попробовал приведенный ниже код, он работает в SAS для ПК, но не в SAS для мэйнфреймов.

       FILENAME FILEIN "ABC.CUST.FILE" DISP=SHR RECFM=V;

      DATA VARNAMES;
      INFILE FILEIN DELIMITER=',' DSD OBS=1 LRECL=32000;
      INPUT VARNAME $ @@;
      RUN;
  

Заранее спасибо.

Комментарии:

1. Я не знаю какой-либо конкретной причины, по которой этот общий метод не будет работать на мэйнфрейме, но я не эксперт по мэйнфреймам. Можете ли вы опубликовать, что в этом не работает?

2. Приведенный выше код принимает длину по умолчанию равной 8 и не может идентифицировать запятую в качестве разделителя. На данный момент я не могу привести точный пример, потому что у меня есть некоторые проблемы в среде мэйнфрейма. Я буду обновлять точную проблему раньше.

3. Длина по умолчанию 8 должна иметь место как для мэйнфреймов, так и для SAS ПК. varname Перед вводом (или :$32. в инструкции ввода) необходимо указать оператор длины для. Запятая должна работать, возможно, это не та же запятая (какая-то проблема, подобная unicode)?

4. @Joe Спасибо Джо. Теперь он работает с использованием 32. Уже пробовал использовать Length, но он не работал из-за некоторых проблем с доступом к мэйнфрейму.

Ответ №1:

Вы можете использовать PROC IMPORT на ПК и скопировать сгенерированный код datastep в мэйнфрейм.