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

SAS Base Discussion :

Lignes de données entre apostrophes


Sujet :

SAS Base

  1. #1
    Membre actif
    Inscrit en
    Novembre 2003
    Messages
    543
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 543
    Points : 239
    Points
    239
    Par défaut Lignes de données entre apostrophes
    Bonjour,
    J'ai un fichier de type CSV dont les données figurent entre doubles apostrophes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    "CodNom;Nom;Type;Age;Valeur"
    "014;Bgey;101;13;9"
    "014;Bgey;105;11;9"
    "014;Bgey;108;11;9"
    "014;Bgey;109;11;9"
    "014;Bgey;110;11;9"
    "014;Bgey;111;11;9"
    "014;Bgey;122;11;9"
    "014;Bgey;123;12;9"
    J'essaie de les lire avec le programme suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    data T2;
       infile "Fichier.csv" delimiter=';' MISSOVER DSD firstobs=2;
       input CodNom :$3. Nom :$12. Type :$3. Age :$2. Valeur :numx.;
    run;
    Mon problème est que ça ne fonctionne pas, du fait que les lignes sont encadrées par des doubles apostrophes.
    Quelqu'un connaîtrait la solution à ce problème ?

  2. #2
    Membre expérimenté
    Inscrit en
    Novembre 2009
    Messages
    703
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 703
    Points : 1 311
    Points
    1 311
    Par défaut Lignes de données entre apostrophes
    Bonjour,

    Le fichier a sans doute mal été enregistré au format csv. Vous pouvez l'ouvrir dans un éditeur de texte et remplacer tous les guillemets par "rien".

    Sinon vous pouvez aussi ajouter les guillemets dans la liste des délimiteurs :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    data T2;
       infile "D:/temp/Fichier.csv" delimiter=';"' MISSOVER firstobs=2;
       input CodNom :$3. Nom :$12. Type :$3. Age :$2. Valeur :8.;
    run;
    Cordialement,

  3. #3
    Membre actif
    Inscrit en
    Novembre 2003
    Messages
    543
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 543
    Points : 239
    Points
    239
    Par défaut
    Bonjour,

    Merci pour votre réponse.
    J'avais déjà essayé en ajoutant l'apostrophe dans la liste des délimiteurs, mais ça me renvoyait une erreur.
    En regardant votre code, j'ai vu qu'il ne contenait pas l'option DSD.
    Effectivement, l'erreur disparait lorsqu'on supprime cette option.
    cordialement

  4. #4
    Membre expérimenté
    Inscrit en
    Novembre 2009
    Messages
    703
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 703
    Points : 1 311
    Points
    1 311
    Par défaut Lignes de données entre apostrophes
    L'erreur est explicite :

    ERROR: Quotes (' or ") have been detected in the delimiter (DLM=) string. Quotes cannot be used
    as delimiter characters when the DSD option is also specified.
    Cordialement,

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2010] Transférer des données entre deux feuilles et les placer à des lignes spécifiques
    Par ElPibeOro dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 26/04/2013, 14h25
  2. Réponses: 2
    Dernier message: 16/06/2009, 14h23
  3. [Designer] Problème de transfert de données entre modul
    Par BILLYPATOU dans le forum Designer
    Réponses: 11
    Dernier message: 09/03/2004, 18h15
  4. Comment récuperer des données entrées au clavier?
    Par Elisée A. dans le forum MFC
    Réponses: 2
    Dernier message: 13/02/2004, 07h22
  5. [Kylix] Echange de données entre fiches
    Par _dack_ dans le forum EDI
    Réponses: 1
    Dernier message: 01/07/2003, 11h34

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