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

PL/SQL Oracle Discussion :

Retour chariot csv


Sujet :

PL/SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2017
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2017
    Messages : 176
    Par défaut Retour chariot csv
    Bonjour,

    J'utilise UTL_FILE.PUT_LINE et TRANSLATE pour ajouter des lignes dans un fichier csv à partir d'une base de données Oracle mais j'ai des retour chariots au niveau de certaines lignes du fichier.

    y a t il une explication?

    J'ai fait comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    UTL_FILE.PUT_LINE(MON_FICHIER,
    TRANSLATE(COL1,';',',') || ';' ||
    TRANSLATE(COL2,';',',') || ';' ||
    TRANSLATE(COL3,';',',') || ';' ||
    TRANSLATE(COL4,';',',') || ';' ||
    TRANSLATE(COL5,';',',')
    );
    Merci

  2. #2
    Expert confirmé Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Par défaut
    Put_line signifie ajouter un retour chariot en fin de la ligne; et la ligne à une limite de probablement 32768. Put ou écriture binaire du fichier.

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2017
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2017
    Messages : 176
    Par défaut
    Merci pour votre réponse.

    En fait le problème que j'ai c'est qu'il y a un retour chariot qui divise la valeur d'une cellule au niveau d'une colonne quelconque et le reste de la ligne s'affiche sur une autre ligne. Ce problème n’apparaît pas sur toutes les lignes.

    Merci,

  4. #4
    McM
    McM est déconnecté
    Expert confirmé

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Billets dans le blog
    4
    Par défaut
    C'est qu'une de tes colonnes contient un retour chariot.
    TRANSLATE permet de remplacer une liste de caractères par les équivalent dans une seconde liste.

    Si tu veux remplacer les différents retours chariots par des espaces, tu peux faire comme cela.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    translate(col1, ';'||chr(10)|| chr(13), ',  ')
    ou plus complet pour ne le faire qu'une fois par ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    UTL_FILE.PUT_LINE(MON_FICHIER,
    TRANSLATE(REPLACE(COL1,';',',') ||';'|| REPLACE(COL2,';',',') ||';'|| REPLACE(COL3,';',',') ||';'|| REPLACE(COL4,';',',') ||';'|| REPLACE(COL5,';',','), '.'|| chr(10) || chr(13), '.  '));

Discussions similaires

  1. [XL-2007] Remplacer les retours chariot et retour à la ligne dans un fichier csv depuis Excel.
    Par Pierrea4564 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 21/02/2011, 12h49
  2. [PHP 5.0] remplacer les retour chariots d'un fichier excel csv par des ";"
    Par fullhdpixels.com dans le forum Langage
    Réponses: 4
    Dernier message: 15/11/2009, 22h56
  3. Supprimer retour chariot dans un fichier CSV
    Par smain_inf dans le forum VBScript
    Réponses: 2
    Dernier message: 20/08/2008, 09h56
  4. Réponses: 3
    Dernier message: 03/01/2008, 20h41
  5. Réponses: 3
    Dernier message: 23/08/2006, 16h30

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