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éveloppement de jobs Discussion :

Extraire des valeurs dans une colonne suivant une valeur préfixe dans la colonne


Sujet :

Développement de jobs

  1. #1
    Candidat au Club
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Janvier 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Janvier 2017
    Messages : 5
    Points : 3
    Points
    3
    Par défaut Extraire des valeurs dans une colonne suivant une valeur préfixe dans la colonne
    Bonjour à tous,
    Je suis novice en Talend mais séduit par cet outil.
    Je travaille sur un job dans lequel je dois extraire des valeurs dans une colonne du fichier et ce pour chaque enregistrement dans le fichier.
    Mon fichier est un *.csv avec 9 colonnes séparées par un ";". Dans la dernière colonne, j'ai une suite d'enregistrements séparés par un "|" et chaque donnée entre un "|" correspond à une variable.
    Je souhaite dans mon traitement, récupérer quelques variables dans cette colonne en fonction qu'elle commence par "|LON" par exemple, puis considérer le "LON" comme titre de la colonne et les caractères suivants mon "LON" entre les 2 "|" comme valeur de la colonne créée. Je dois réitérer cette opération pour l'ensemble des lignes du fichier et récupérer la valeur pour chaque ligne sous forme de colonne.

    En résumé je complète mon fichier en complétant les 8 premières colonnes pour tous les enregistrements, avec des nouvelles colonnes correspondant aux valeurs extraites de la dernière colonne selon qu'ils contiennent "|LON.
    Je joins également mon fichier de données source.
    Exemple de la structure de mon fichier
    Type de produit;Numéro de lot;Numéro de colis;Dépôt;Phase ExploitForest;Magasin;Emplacement;Volume;Variantes
    Grumes;10038-B2-AC02;013540-28;10;ABA;1;;5.392;|BLCG6|CER|DGB80|DPB78|ESSTLI|GPX14.11496|GPY3.41892|MST|PCH6|PCL625|QUA3|STAAE|UABRUAB|UPPRUPP|VOL5.392|DIA79|LON1100|

    Si je tombe sur |LON110, je l'ecris dans une colonne que je crée nommé LON et j'y insère la valeur 1100 comme dans l'exemple ci dessus.

    Merci d'avance.
    Kheuche.
    Fichiers attachés Fichiers attachés

  2. #2
    Membre expérimenté Avatar de supergeoffrey
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2010
    Messages
    795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Octobre 2010
    Messages : 795
    Points : 1 685
    Points
    1 685
    Par défaut
    Bonjour,

    Deux solutions en vue,

    Solution 1)Tu codes en Java

    Solution 2)Tu utilises un tReplace avec l'option Utiliser des expresions PERL5 avec des config de genre
    regex
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "(^.*\\|LON)([^\\|]*)(\\|.*$)"
    remplacement J'ai fait mon test de regex en ligne sur http://www.regexplanet.com/cookbook/...vDA/index.html
    Pensez à marquer vos tickets comme résolus.
    Pensez aussi aux pour les réponses pertinantes

    Quand une discution est résolue depuis un moment pour revenir dessus, il est mieux d'en crée une nouvelle avec un lien vers l'autre car :
    • Elle sera en haut du forum, elle sera donc plus visible
    • Une discussion résolue, on ne passe pas dessus pour aider, on passe dessus si on a le même problème
    • Tu demandes surement à tes clients de faire le même

  3. #3
    Candidat au Club
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Janvier 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Janvier 2017
    Messages : 5
    Points : 3
    Points
    3
    Par défaut Extraction
    Bonjour SuperGeoffroy,
    Merci pour ton aide. Je vais essayer tes conseils. Je ne maitrise pas du tout JAVA.
    Donc j'essaie de suivre la syntaxe du script en exemple que tu m'as donné.
    Cdt.
    Kheuche.
    Citation Envoyé par supergeoffrey Voir le message
    Bonjour,

    Deux solutions en vue,

    Solution 1)Tu codes en Java

    Solution 2)Tu utilises un tReplace avec l'option Utiliser des expresions PERL5 avec des config de genre
    regex
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "(^.*\\|LON)([^\\|]*)(\\|.*$)"
    remplacement J'ai fait mon test de regex en ligne sur http://www.regexplanet.com/cookbook/...vDA/index.html

Discussions similaires

  1. Réponses: 2
    Dernier message: 29/07/2016, 17h49
  2. Réponses: 6
    Dernier message: 22/03/2016, 15h14
  3. [WD18] Metre une colonne d'une Table sur une ligne d'une autre Table
    Par Totophe2 dans le forum WinDev
    Réponses: 2
    Dernier message: 22/11/2013, 13h58
  4. Réponses: 2
    Dernier message: 05/05/2012, 02h57
  5. [XL-2002] Macro de comparaison d'une cellule d'une feuille avec une cellule d'une autre feuille.
    Par steelydan dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 08/09/2010, 13h59

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