1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| DATA _NULL_ ;
LENGTH _ligne1_ _ligne2_ _res_ $ 4000 ;
RETAIN _ligne1_ ;
INFILE "c:/temp/edward.csv" LRECL=4000 ;
FILE "c:/temp/edward2.csv" LRECL=4000 ;
INPUT @ ; /* on lit la ligne et on attend */
_ligne1_ = _infile_ ; /* on stocke la ligne lue */
nbQuotes = COUNT(_infile_,'"') ;
INPUT ; /* on lâche cette ligne, on passe à la suite */
IF MOD(nbQuotes, 2) = 1 THEN DO ; /* une seule quote ? */
INPUT ; /* on lit la ligne suivante */
_ligne2_ = _infile_ ;
_res_ = CATX(" ", _ligne1_, _ligne2_) ; /* on concatène à la précédente */
END ;
ELSE _res_ = _ligne1_ ;
PUT _res_ ;
PUTLOG _ALL_ ;
RUN ;
DATA work.edward ;
INFILE "c:/temp/edward2.csv" LRECL=4000 DLM=";" DSD MISSOVER FIRSTOBS=2 ;
INPUT ID VAR1 COMMENTAIRE :$3000. VAR2 ;
RUN ; |