Consigo gerar um arquivo CSV usando SAS (instrução de arquivo) com cada valor entre aspas duplas, mas não consigo remover os espaços vazios dos valores ausentes. A seguir, o código com um exemplo de entrada:
data input;
STUDY="XYZ"; INDATE="03-DEC-2024"; INTIME=""; output;
STUDY="XYZ"; INDATE="04-DEC-2024"; INTIME=""; output;
STUDY="XYZ"; INDATE="05-DEC-2024"; INTIME=""; output;
STUDY="XYZ"; INDATE="06-DEC-2024"; INTIME=""; output;
run;
data _null_;
file "&outpath.\test.csv" dsd dlm=",";
set input;
if _n_=1 then put '"STUDY","INDATE","INTIME"';
put (STUDY INDATE INTIME) (~);
run;
Saída que estou obtendo:
Saída que eu quero:
Agradeço a ajuda!
Não adicione o modificador ~ quando o valor estiver faltando.
Isso fará com que ele não coloque nada entre os delimitadores quando os valores estiverem faltando.
Ou você realmente precisa que o arquivo também tenha essas aspas extras (desnecessárias) mesmo quando o valor estiver ausente? Nesse caso, talvez seja melhor ignorar a opção DSD e adicionar as aspas você mesmo. Observe que você provavelmente precisará verificar se a opção MISSING está definida
' '
para evitar erros"."
de variáveis numéricas ausentes.