IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Débutez Discussion :

Saut de ligne


Sujet :

Débutez

  1. #1
    Membre confirmé
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    198
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 198
    Par défaut Saut de ligne
    Bonjour à tous,


    J'ai vraiment besoin de votre aide, j'importe des fichiers tous les jours dans des tables SAS, des fichiers de 2 millions et plus!!!
    sauf que de temps en temps mes fichiers sont de mauvaises qualité ( caractères parasites et retour à ligne)

    Est qu'il ya une procédure qui permet de détecter les lignes avec retour chariot? (décallage de lignes)


    Structure de mon fichier ( exemple): ( car en réalité j'ai une 15 colonnes)


    Numero nom prenom cp ville
    01 aa vv 91300 massy
    02 bb tt 92160 antony

    ce qui se passe avec le retour chariot ( j'ai un décalage)

    Numero nom prenom cp ville
    01 aa vv 91300
    massy 02 bb tt 92160 antony

    je ne sais pas comment faire une procédure SAS pour reconnaitre les lignes qui sont décalées sachant que la structure du fichier change d'un fichier à un autre, d'habitude je fais un filtre sur excel mais ça ne passe pas quand le fichier est volumineux.

    et si vous avez aussi un truc pour les caractère parasites je ne dis pas non

    Merci beaucoup.

  2. #2
    Modérateur

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Février 2011
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2011
    Messages : 1 625
    Par défaut
    Hello,
    j'avoue je n'ai pas assez d'éliments pour donner une réponse sur mesure,
    il y a effectivement pas mal d'options dans l'infile qui permettent de gérer cetraines contraintes quand à la structure du fichier en entrée.
    Je te propose ce simple exemple ( avec bien sûre ce que j'ai compris):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    data test;
    infile cards ;
    input (Numero  nom  prenom )  (: $2.)  cp  : $5. ville : $10. @@;
    cards;
    01 aa vv 91300 
    massy 02 bb tt 92160 antony
    02
    bb tt 92160 antony
    02
    bb 
    tt 
    92160 antony
    ;
    run;
    Le @@ permet de holder une ligne tant que toutes les colonnes ne sont pas remplies.
    Tu peux rajouter d'autres options à l'infile comme:
    le DLMSTR c'est de dire à sas qu'il peut y avoir un autre séparateur quoi qu'on peut spécifier dans le DLM= plus qu'un seul séparateur. le '0A'X si mes souvenirs sont bons , correspond à la valeur hexadécimale du retour chariot tu rajoutes à sa l'option RECFM=N.
    Penses aussi à DSD et Missover.
    Si ma proposition ne t'aide pas trop, essaies de donner plus d'éliments.
    Bon courage.
    N'oubliez pas de consulter les FAQ SAS et les cours et tutoriels SAS
    N'oubliez pas de mettre votre message à si la solution donnée résout votre problème

  3. #3
    Membre confirmé
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    198
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 198
    Par défaut
    merci Samir pour ta réponse, effectivement je n'ai pas bien expliqué mon problème, au fait je vais te dire ce que je fais habituellement comme ça tu vas comprendre (je l’espère)
    je reçois des fichiers txt avec des structures différentes à chaque fois, ce que je fais manuellement, je cherche déjà toutes les cotes et doubles cote et je remplace par blanc (je fais ctr+R) sinon erreur dans mon automate!
    pour les caractères parasites je ne fais rien car je ne sais pas comment les détecter, alors c'est toujours à la fin de mon traitement que j'ai des surprises donc j'élimine manuellement eh oui!!!
    mais le pire et qui me prend beaucoup de temps c'est les saut de lignes, ce que je fais en SAS, j'importe mon fichier avec infile dans une table SAS test , puis je rajoute un champs que je nomme decal et je lui donne la valeur de 'x' , j'exporte après la table SAS test vers un fichier Excel et je fais un filtre sur le champs decal et toutes les lignes n'ayant pas la valeur 'x' ya un decalage donc je convertis en hexa (ctr+H) et change tous les 0D en 20 ( espace en hexa) voilà quand j'ai des fichiers de 2 millions pas facile!!!! ça prends bcp de temps, surtout que j'ai d'autres traitements à faire par la suite!!!

    je veux faire une petite procedure en SAS sur ma table test qui contient les données de mon fichier comme ça je gagne un peu de temps.
    j'ai cherché un peu dans les forums mais je n'ai pas trouvé ce que je voulais.
    par avance, merci pour ton aide.

  4. #4
    Membre confirmé
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    198
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 198
    Par défaut
    Bonjour Samir,

    J'ai trouvé ça sur internet, ça marche mais est ce qu'il ya possiblité de mettre tout ça sur SAS!!!


    Merci.

    marcro que j'ai rajouté sur mon fichier Excel

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Sub Suppr_Ret_Char()
     
    'NFR 25/08/09
     
    'Cette macro supprime les retours chariot dans la zone sélectionnée
     
    Selection.Replace What:=Chr(10), Replacement:="", LookAt:=xlPart, _
            SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
            ReplaceFormat:=False
     
    Selection.Replace What:=Chr(13), Replacement:="", LookAt:=xlPart, _
            SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
            ReplaceFormat:=False
     
    End Sub

  5. #5
    Modérateur

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Février 2011
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2011
    Messages : 1 625
    Par défaut
    Hello,

    Peux-tu jetter un coup d'oeil à ce lien ?
    serai t-il possible de poster un exemple de ton fichier et le résultat souhaité?
    N'oubliez pas de consulter les FAQ SAS et les cours et tutoriels SAS
    N'oubliez pas de mettre votre message à si la solution donnée résout votre problème

  6. #6
    Membre confirmé
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    198
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 198
    Par défaut
    au fait c'est tout simple , je reçois un fichier csv par exemple à 500 lignes quand je le change en txt je trouve 600 lignes, donc des sauts de lignes qu'il faut supprimer, que je n'arrive pas à detecter dans le premier fichier.


    Je te remercie.

  7. #7
    Membre confirmé
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    198
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 198
    Par défaut
    63 1 TOTO Gérard A, rue des Oliviers 91220 BRITIGNY SUR ORGES 0 01 60 84 38 05
    64 2 TATA Jane 33, bis rue Sedaine 75011 PARIS 0 01 48 06 76 77
    65 1 TITI Michel Domaine de l'Aunette
    \
    84, rue des Goélands 91130 RIS ORANGIS 1 01 69 06 46 69



    la 4ème ligne c'est la suite de la 3ème, si je charge comme ça me fausse ma procédure, comment y remedier en passant pas SAS?

  8. #8
    Membre Expert
    Homme Profil pro
    Attaché statisticien
    Inscrit en
    Mai 2011
    Messages
    687
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Attaché statisticien
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2011
    Messages : 687
    Par défaut
    Bonjour,

    pourrais tu donner un exemple de fichier csv que tu reçois, en modifiant les données (nom et prénom pour la confidentialité) tout en laissant les problèmes de caractères spéciaux et de retour à la ligne ?

    Pour une vingtaine d'individus par exemple... ?

  9. #9
    Membre confirmé
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    198
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 198
    Par défaut
    573;2;ERHARD;;La Jeanne \
    Les Plaines de pont de Rhaud;13250;CORNILLON CONFOUX;0;04 90 17 40 37;
    575;1;Loulou;Marcel;Villa 320 Rue Cézanne Puy Loubier;13114;AIX EN PROVENCE;0;04 42 54 45 27;06 15 47 17 14
    576;2;POupou;;14, grande allée Léon Blum;77186;NOISIEL;0;01 60 17 72 05;
    578;2;toutou;Christine;3, rue Falzede;66170;ST FELIU D'AVALL;0;06 10 89 53 26;
    579;1;coucou;Guy;11, rue Camin de la Creu;66740;ST GENIS DES FONTAINES;0;04 68 95 01 17;
    580;1;sousou;Jacques;69, rue de Troyes\
    Boite Postale 13;77390;GUIGNES;1;01 64 06 00 95;
    581;1;foufou;Jean Louis;19 Ter Bld de la République
    \
    résidence Joffre;59240;Dunkerque;1;03 28 28 77 62 BX;06 63 63 06 09
    583;2;joujou;Céline;Potart;81800;LOUPIAC;0;05 63 33 74 07;
    584;1;moumou;Geoffrroy;Vale das Amoreiras 8
    \
    Alcalar;8500;120 Mexilhoeira Grande
    Portugal;0;00351 282 471 141;
    585;1;nounou;Jean-Claude;4, impasse Beau séjour;66570;SAINT NAZAIRE;0;04 68 73 31 39;
    586;2;koukou;;Résidence Parc de Bourgogne
    \
    12, rue C. Peguy;45000;ORLEANS;1;02 38 54 59 03;06 80 75 29 84
    589;1;zouzou;Remi;12, allées des Acacias
    \


    structure du fichier : numligne,ident,nom, prenom, adr1,cp,ville,num,tel1,tel2

    les caractères parasites je les ai repérer eds remplacer, mais les saut de lignes je ne sais pas comment faire,

  10. #10
    Membre confirmé
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    198
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 198
    Par défaut
    et par avance, merci pour ta réponse.

  11. #11
    Modérateur

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Février 2011
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2011
    Messages : 1 625
    Par défaut
    Salut,
    As tu regardé le lien que je t'ai proposé?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    data test;
    infile " ton fichier" recfm=n sharebuffers; 
    ...
    run;
    N'oubliez pas de consulter les FAQ SAS et les cours et tutoriels SAS
    N'oubliez pas de mettre votre message à si la solution donnée résout votre problème

  12. #12
    Membre Expert
    Homme Profil pro
    Attaché statisticien
    Inscrit en
    Mai 2011
    Messages
    687
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Attaché statisticien
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2011
    Messages : 687
    Par défaut
    Je viens de regarder l'exemple,
    cependant il aurait été préférable d'avoir un fichier au format .csv tel que tu le reçois...

    Du coup j'ai du reconstituer le fichier .csv d'origine tel que je pense qu'il est (à voir si cela correspond à ce que tu as toi, si il est différent il vaut mieux mettre le fichier .csv en pièce jointe pour qu'on puisse t'aider correctement...)

    Tu trouveras en pièce jointe le fichier .csv duquel je suis parti.

    Première étape, je le lis "benoîtement" avec sas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
    filename fichier 'D:\user\test_dev\file.csv';
     
    DATA test;
    RETAIN var;
    INFILE fichier truncover ;
    INPUT var $400. ;
    RUN;
     
    PROC PRINT DATA=test;RUN;
    ce qui me donne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    Obs var
     
      1 573;2;ERHARD;;La Jeanne
      2
      3 Les Plaines de pont de Rhaud;13250;CORNILLON CONFOUX;0;04 90 17 40 37;
      4 575;1;Loulou;Marcel;Villa 320 Rue Cézanne Puy Loubier;13114;AIX EN PROVENCE;0;04 42 54 45 27;0
      5 576;2;POupou;;14, grande allée Léon Blum;77186;NOISIEL;0;01 60 17 72 05;
      6 578;2;toutou;Christine;3, rue Falzede;66170;ST FELIU D'AVALL;0;06 10 89 53 26;
      7 579;1;coucou;Guy;11, rue Camin de la Creu;66740;ST GENIS DES FONTAINES;0;04 68 95 01 17;
      8 580;1;sousou;Jacques;69, rue de Troyes
      9
     10 Boite Postale 13;77390;GUIGNES;1;01 64 06 00 95;
     11 581;1;foufou;Jean Louis;19 Ter Bld de la République
     12
     13 résidence Joffre;59240;Dunkerque;1;03 28 28 77 62 BX;06 63 63 06 09
     14 583;2;joujou;Céline;Potart;81800;LOUPIAC;0;05 63 33 74 07;
     15 584;1;moumou;Geoffrroy;Vale das Amoreiras 8
     16
     17 Alcalar;8500;120 Mexilhoeira Grande
     18
     19 Portugal;0;00351 282 471 141;
     20 585;1;nounou;Jean-Claude;4, impasse Beau séjour;66570;SAINT NAZAIRE;0;04 68 73 31 39;
     21 586;2;koukou;;Résidence Parc de Bourgogne
     22
     23 12, rue C. Peguy;45000;ORLEANS;1;02 38 54 59 03;06 80 75 29 84
    Les retours à la ligne sont devenus des observations vides séparant l'observation en deux observations (voir plus si il y avait plusieurs retour à la ligne).


    ensuite je ré-assemble les lignes allant les unes avec les autres.
    Le principe je lis une ligne et ensuite je regarde si il y a une ligne vide ensuite (correspondant donc a un retour à la ligne), si oui alors j'assemble l'observation d'avant avec celle d'après.
    Ceci tant que je ne rencontre pas deux observations consécutives non vides.
    Dans ce dernier cas je sors alors la première observation qui est complète , et je reprend le processus avec la seconde observation.
    Plus une subtilité en début et fin de fichier puisqu'on travail "à cheval" sur les observations.

    voici le code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
     
    DATA debut;
    SET test END=eof ;
    LENGTH buff $400.;
    RETAIN test 0 buff;
    ligne=_N_;
    IF _N_=1 THEN buff=var;ELSE do;
    IF eof THEN DO; IF test=0 	THEN DO;buff=var;OUTPUT;END;
    					        ELSE DO;buff=STRIP(buff)!!'<LF>'!!STRIP(var);OUTPUT;END;
    			END;
    		ELSE DO;
    IF var='' 	THEN test=1;
    			ELSE 	DO;IF  test=1 	THEN DO;buff=STRIP(buff)!!'<LF>'!!STRIP(var);test=0;END;
    									ELSE DO;OUTPUT;buff=var;END;
    					END;
    							END;
    			END;
     
    RENAME buff=texte;
    KEEP buff;
    RUN;
    ce qui nous permet d'obtenir le fichier "ré-assemblé" suivant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Obs texte 
    1 573;2;ERHARD;;La Jeanne<LF>Les Plaines de pont de Rhaud;13250;CORNILLON CONFOUX;0;04 90 17 40 37; 
    2 575;1;Loulou;Marcel;Villa 320 Rue Cézanne Puy Loubier;13114;AIX EN PROVENCE;0;04 42 54 45 27;06 15 47 17 14 
    3 576;2;POupou;;14, grande allée Léon Blum;77186;NOISIEL;0;01 60 17 72 05; 
    4 578;2;toutou;Christine;3, rue Falzede;66170;ST FELIU D'AVALL;0;06 10 89 53 26; 
    5 579;1;coucou;Guy;11, rue Camin de la Creu;66740;ST GENIS DES FONTAINES;0;04 68 95 01 17; 
    6 580;1;sousou;Jacques;69, rue de Troyes<LF>Boite Postale 13;77390;GUIGNES;1;01 64 06 00 95; 
    7 581;1;foufou;Jean Louis;19 Ter Bld de la République<LF>résidence Joffre;59240;Dunkerque;1;03 28 28 77 62 BX;06 63 63 06 09 
    8 583;2;joujou;Céline;Potart;81800;LOUPIAC;0;05 63 33 74 07; 
    9 584;1;moumou;Geoffrroy;Vale das Amoreiras 8<LF>Alcalar;8500;120 Mexilhoeira Grande<LF>Portugal;0;00351 282 471 141; 
    10 585;1;nounou;Jean-Claude;4, impasse Beau séjour;66570;SAINT NAZAIRE;0;04 68 73 31 39; 
    11 586;2;koukou;;Résidence Parc de Bourgogne<LF>12, rue C. Peguy;45000;ORLEANS;1;02 38 54 59 03;06 80 75 29 84
    ensuite on éclate les variables avec le code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
     
     
    DATA fin;
    SET debut;
    LENGTH numligne 8. ident 8. nom $20. prenom $20. adr1 $60. cp $5. ville $20. num $8. tel1 $20 tel2 $20;
    KEEP numligne ident nom prenom adr1 cp ville num tel1 tel2;
    texte=TRANWRD(texte,';;','; ;');
    texte=TRANWRD(texte,';;','; ;');
    numligne=SCAN(texte,1,';');
    ident=SCAN(texte,2,';');
    nom=SCAN(texte,3,';');
    prenom=SCAN(texte,4,';');
    adr1=SCAN(texte,5,';');
    cp=SCAN(texte,6,';');
    ville=SCAN(texte,7,';');
    num=SCAN(texte,8,';');
    tel1=SCAN(texte,9,';');
    tel2=SCAN(texte,10,';');
    RUN;
     
    proc print data=fin;run;
    et on obtient le résultat souhaité avec la trace des anciens retour à la ligne qui semble séparer des informations distinctes à l'intérieur des variables, ils apparaissent sous la forme :LF:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
     Obs   numligne   ident    nom     prenom        adr1
     
       1      573       2     ERHARD                 La Jeanne<LF>Les Plaines de pont de Rhaud
       2      575       1     Loulou   Marcel        Villa 320 Rue Cézanne Puy Loubier
       3      576       2     POupou                 14, grande allée Léon Blum
       4      578       2     toutou   Christine     3, rue Falzede
       5      579       1     coucou   Guy           11, rue Camin de la Creu
       6      580       1     sousou   Jacques       69, rue de Troyes<LF>Boite Postale 13
       7      581       1     foufou   Jean Louis    19 Ter Bld de la République<LF>résidence Joffre
       8      583       2     joujou   Céline        Potart
       9      584       1     moumou   Geoffrroy     Vale das Amoreiras 8<LF>Alcalar
      10      585       1     nounou   Jean-Claude   4, impasse Beau séjour
      11      586       2     koukou                 Résidence Parc de Bourgogne<LF>12, rue C. Peguy
     
     Obs    cp      ville                   num          tel1                tel2
     
       1   13250    CORNILLON CONFOUX        0     04 90 17 40 37
       2   13114    AIX EN PROVENCE          0     04 42 54 45 27       06 15 47 17 14
       3   77186    NOISIEL                  0     01 60 17 72 05
       4   66170    ST FELIU D'AVALL         0     06 10 89 53 26
       5   66740    ST GENIS DES FONTAIN     0     04 68 95 01 17
       6   77390    GUIGNES                  1     01 64 06 00 95
       7   59240    Dunkerque                1     03 28 28 77 62 BX    06 63 63 06 09
       8   81800    LOUPIAC                  0     05 63 33 74 07
       9   8500     120 Mexilhoeira Gran     0     00351 282 471 141
      10   66570    SAINT NAZAIRE            0     04 68 73 31 39
      11   45000    ORLEANS                  1     02 38 54 59 03       06 80 75 29 84
    Tout ceci modulo que mon fichier .csv de départ ressemble bien aux tiens.

    Ma proposition est peut-être un peu lourde, sans doute le lien de S_a_m va t il te donner la clé du problème, pour ma part je n'ai pas eu le temps de regarder...
    Fichiers attachés Fichiers attachés

  13. #13
    Modérateur

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Février 2011
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2011
    Messages : 1 625
    Par défaut
    +1 Jérome,
    Par contre j'ai des doutes quant à la structure du fichier. Je ne sais pas si t'as remarqué en ligne 7 de ton output, la colonne TEL1 contient BX (si je suis bien reveillé Bien sûre) .
    Le lien que j'ai proposé,contient un exemple qui traite les (LF) et (CR).
    N'oubliez pas de consulter les FAQ SAS et les cours et tutoriels SAS
    N'oubliez pas de mettre votre message à si la solution donnée résout votre problème

  14. #14
    Membre Expert
    Homme Profil pro
    Attaché statisticien
    Inscrit en
    Mai 2011
    Messages
    687
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Attaché statisticien
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2011
    Messages : 687
    Par défaut
    oui j'ai bien remarqué l'observation 7

    581;1;foufou;Jean Louis;19 Ter Bld de la République
    \
    résidence Joffre;59240;Dunkerque;1;03 28 28 77 62 BX;06 63 63 06 09
    c'est dans les données initiales, et si c'est un fichier issu d'une saisie directe avant tout traitement cela ne m'étonne qu'à moitié...

  15. #15
    Membre confirmé
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    198
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 198
    Par défaut
    merci beaucoup à tous les deux, je vais tout tester, mon chef sera fier de moi

Discussions similaires

  1. Saut de ligne sans <br/>
    Par mattmat dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 21/06/2007, 11h21
  2. [Saut de ligne] Problèmes bizarre
    Par gandalf_le_blanc dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 06/04/2004, 14h06
  3. Nombre de sauts de ligne dans un String
    Par Johnbob dans le forum ASP
    Réponses: 7
    Dernier message: 03/03/2004, 15h33
  4. Lecture de saut de ligne...
    Par Garion dans le forum C
    Réponses: 5
    Dernier message: 13/02/2004, 11h42
  5. [JTextPane] saut de ligne...
    Par neric dans le forum Composants
    Réponses: 2
    Dernier message: 21/01/2004, 15h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo