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 :

Lecture fichier CSV


Sujet :

PL/SQL Oracle

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2007
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 11
    Points : 16
    Points
    16
    Par défaut Lecture fichier CSV
    Bonjour
    J’aurais besoin d’aide pour trouver la façon la plus rapide de lire un fichier CSV
    Exemple de fichier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    ;TESTE;;;
    ;;;;
    ;DATE/;29-01-2018 15:01;;
    ;;;;
    Champ1; champ2;champ3;Champ4
    FR;9999;NISSAN;;
    FR;1525;TEST ;;
    UK;4700;TEST2;3;1
    Voici mon code pour récupérer le corp du fichier.

    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
    DECLARE
     
    	TYPE typ_tab_varchar IS TABLE OF VARCHAR2(500) ;
    	tab_ligne typ_tab_varchar := typ_tab_varchar();
    	v_ligne VARCHAR2(500) ;
    	v_debut NUMBER := 1;
    	v_fin NUMBER:= 1;  
    	v_aux VARCHAR2(500);
    	cont NUMBER;
     
    --ret					varchar2(100) := NULL;
     
    BEGIN
      v_ligne:= 'FR;9999;NISSAN;;';
      cont := REGEXP_COUNT(v_ligne, ';', 1); -- contge du nombre de ;
      dbms_output.put_line('******cont******  ' || cont );  
      FOR i IN 1 .. cont LOOP
      ---
          WHILE v_fin > 0 LOOP
            tab_ligne.EXTEND();
            v_fin := INSTR(v_ligne, ';',v_debut);
     
            IF v_fin <> 0 THEN
                v_aux:= substr(v_ligne, v_debut, (v_fin-v_debut) );
                --  dbms_output.put_line('******v_aux******  ' || v_aux);  
                -- dbms_output.put_line('tab_ligne(i)  ' || v_aux);
                tab_ligne(tab_ligne.last) := v_aux;
                v_debut := v_fin+1;
            ELSE ---
                v_aux:= substr(v_ligne, v_debut, (LENGTH(v_ligne)-(v_debut-1)) );
                tab_ligne(tab_ligne.last) := v_aux;
            END IF;
     
          END LOOP;
     
      END LOOP;
    Merci de votre aide.

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 778
    Points
    30 778
    Par défaut
    Des pistes :
    • SQL*Loader
    • Table externe
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  3. #3
    Membre expérimenté
    Avatar de islamov2000
    Homme Profil pro
    Ingénieur d'études & developpement en informatique
    Inscrit en
    Septembre 2007
    Messages
    814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur d'études & developpement en informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2007
    Messages : 814
    Points : 1 717
    Points
    1 717
    Billets dans le blog
    6
    Par défaut
    Quel est le but de cette manipulation, veux tu le charger dans une table?
    d'avoir Pensé à voter positivement pour ceux qui vous ont aidés et surtout à mettre si le cas.
    ça encourage.

Discussions similaires

  1. lecture fichier CSV
    Par kodshadow dans le forum Débuter
    Réponses: 6
    Dernier message: 22/12/2008, 17h42
  2. [MySQL] Lecture fichier CSV et enregistrement dans la base
    Par tifsa dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 26/09/2008, 13h49
  3. Lecture fichier .csv par colonne
    Par BRAUKRIS dans le forum Langage
    Réponses: 3
    Dernier message: 05/10/2007, 15h08
  4. Lecture fichier CSV
    Par Iphelias dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 14/06/2007, 22h58
  5. lecture fichier .csv
    Par wiss20000 dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 06/06/2007, 21h48

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