SAS Proc Импорт CSV "Недопустимые данные для x в строке x" - PullRequest
0 голосов
/ 03 мая 2019

Я пытаюсь импортировать CSV в SAS, используя процедуру импорта.При запуске этого кода указывается, что в двух столбцах, столбце x и столбце y содержатся недопустимые данные.Похоже, что он может читать столбцы как числовые, а затем отправлять сообщение об ошибке, когда появляются буквы.Сообщение об ошибке отправляет меня в строки, где буквы впервые появляются в этих двух столбцах.

Нужно ли определять формат для этих двух столбцов?

Это большой набор данных со 100+ столбцамитолько два столбца дают мне ошибку.

proc import
datafile = 'filepath'
out = dataname
dbms = CSV
replace
;

Надеемся получить выходные данные без этих сообщений об ошибках:

ПРИМЕЧАНИЕ. Неверные данные для столбца Y в строке 472 46-47.

ВНИМАНИЕ: Предел, установленный в ОШИБКАХ = опция достигнута.Другие ошибки этого типа не будут напечатаны.

ОШИБКА: импорт не выполнен.Подробнее см. SAS Log.

1 Ответ

0 голосов
/ 03 мая 2019

Возможно, SAS неправильно определила эти столбцы. Поскольку вы импортируете CSV, проверьте журнал. Он выведет код шага данных SAS, который можно использовать для изменения типа столбца. Обычно это происходит потому, что SAS идентифицирует столбец как числовой, но некоторые строки содержат символы.

Вы можете изменить код шага данных непосредственно для этих столбцов или добавить параметр guessingrows= в proc import, чтобы повысить точность определения типа столбца. Это значительно снизит производительность, если вы сделаете размер слишком большим. Начните с 500, затем увеличивайте оттуда по мере необходимости.

...