Ответ может зависеть от того, что является причиной появления перевода строки, какого типа перевода строки, и, возможно, также от операционной системы, в которой вы используете SAS, а также от версии SAS, которую вы используете. Не зная ни одного из ответов на эти вопросы, вот пара предложений:
Во-первых, вы можете попробовать этот оператор infile на шаге данных:
infile "C:\test.csv" dsd delimiter=';' termstr=crlf;
termstr=crlf
говорит SAS использовать только перевод строки Windows для запуска новых записей.
В качестве альтернативы, вы можете использовать SAS для предварительной обработки вашего файла побайтно, чтобы обеспечить замену любых строк в парных кавычках (возможно, пробелами):
data _null_;
infile 'C:\test.csv' recfm=n;
file 'C:\testFixed.csv' recfm=n;
input a $char1.;
retain open 0;
if a='"' then open=not open;
if (a='0A'x or a='0D'x) and open then put '00'x @;
else put a $char1. @;
run;
Это адаптировано из здесь для справки. Возможно, вам придется немного поработать с этим кодом, чтобы он заработал. Идея состоит в том, чтобы затем прочитать полученный CSV в SAS со стандартным шагом данных.