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

  1. #1
    Membre actif
    Homme Profil pro
    Chef de projet IT
    Inscrit en
    mars 2009
    Messages
    206
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Pologne

    Informations professionnelles :
    Activité : Chef de projet IT
    Secteur : Distribution

    Informations forums :
    Inscription : mars 2009
    Messages : 206
    Points : 231
    Points
    231

    Par défaut Talend Open Studio _ fichier non XML une seule colonne a repartir en colonnes diverses

    Bonjour.

    J'ai un fichier ne contenant qu'une colonne/champ nous servant a payer nos fournisseurs etrangers.

    Chaque ligne a soit un identifiant du type :20: ou :59: etc, certaines n'ont rien.

    Par exemple, j'ai une ligne commencant par :59: et contenant un nr de compte banque. La ligne qui suit contient le nom de la societe payee sans aucun nr precedent :

    :59:/12154645646465454
    Dupont

    Rue du Quartier
    00-000 Ville
    Dans ce fichier, nous avons plusieurs paiements.

    Chaque paiement commence par la ligne commencant par :20: et termine par celle commencant par :72:

    Avec Talend, je souhaiterai partir de ce fichier et d'envoyer les donnees dans un fichier txt ou csv avec un paiement par ligne.

    Donc, je part d'un fichier contenant dans une meme colonne :

    :20:

    detail 1er paiement

    :72:
    :20:

    detail 2eme paiement

    :72:
    pour arriver a un fichier contenant chaque paiement dans une ligne et donc une info par colonne.

    En fait, il faudrait definir que chaque paiement va de la ligne :20: a la ligne :72:

    Si chacune des lignes commencait par des nrs, je serais en mesure de recuperer le fichier comme un simple fichier delimite puis d'utiliser un Tmap avec des if pour envoyer dans les champs qui vont bien du fichier de sortie : si :20:* donc champ reference etc.

    J'ai deja fait ce genre de chose pour des fichiers XML ce qui ne pose pas de probleme vu que c'est prevu dans Talend.
    Par contre, impossible d'utiliser un format de fichier XML pour un fichier qui ne comporte pas d'etiquettes propres aux fichiers XML.

    Savez-vous si c'est possible de faire ca dans Talend ? Si oui, comment ?

    Merci.
    Cdlt.
    Jean

  2. #2
    Membre éprouvé Avatar de supergeoffrey
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    octobre 2010
    Messages
    611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    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 : 611
    Points : 1 266
    Points
    1 266

    Par défaut

    Bonjour,

    J'ai pas bien tout compris mais as-tu essayer le tFileInputRegex ?


    Schema
    code : Integer
    payement : String

    Configuration
    Nom : Exemple_tFileInputRegex_config.png
Affichages : 54
Taille : 31,3 Ko

    Execution
    Nom : Exemple_TFileInputRegex_exec.png
Affichages : 45
Taille : 31,7 Ko
    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
    Membre actif
    Homme Profil pro
    Chef de projet IT
    Inscrit en
    mars 2009
    Messages
    206
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Pologne

    Informations professionnelles :
    Activité : Chef de projet IT
    Secteur : Distribution

    Informations forums :
    Inscription : mars 2009
    Messages : 206
    Points : 231
    Points
    231

    Par défaut

    Bonjour.

    Merci pour la reponse. Je vais essayer.

    Par contre, a quoi correspond la valeur dans le champ Regex ?

    Jean.

  4. #4
    Membre éprouvé Avatar de supergeoffrey
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    octobre 2010
    Messages
    611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    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 : 611
    Points : 1 266
    Points
    1 266

    Par défaut

    Citation Envoyé par jj4822 Voir le message
    Par contre, a quoi correspond la valeur dans le champ Regex ?
    C'est un pattern pour délimité les données.
    C'est des expressions PERL5.
    Pour ce que tu peux mettre dedans regarde la javadoc de Pattern.
    Dans mon exemple
    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    ":([0-9]+):([^:]*)"

    Le premier ":" correspond au au premier caractère ":" de ta chaîne.
    Dans "([0-9]+)" , [0-9] correspond a un caractère entre 0 à 9. Le "+" lui est la pour dire une fois ou plus. Et le tout est parenthésé pour dire qu'on souhaite récupérer la valeur. Qui va ensuite alimenté ton schema.
    Le deuxième":" correspond au deuxième ":" qui entoure ton nombre.
    Dans "([^:]*)" , [^:] correspond à un carctère qui n'est pas ":", l'* est la pour signaler une répétition de 0 à N. Et le tout est parenthésé pour dire qu'on souhaite récupérer la valeur. Qui va ensuite alimenté ton schema.
    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

  5. #5
    Membre actif
    Homme Profil pro
    Chef de projet IT
    Inscrit en
    mars 2009
    Messages
    206
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Pologne

    Informations professionnelles :
    Activité : Chef de projet IT
    Secteur : Distribution

    Informations forums :
    Inscription : mars 2009
    Messages : 206
    Points : 231
    Points
    231

    Par défaut

    Bonjour.

    Merci supergeoffrey pour cette aide et toutes ces explications.

    Je vais tester ca.

    Jean.

  6. #6
    Membre actif
    Homme Profil pro
    Chef de projet IT
    Inscrit en
    mars 2009
    Messages
    206
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Pologne

    Informations professionnelles :
    Activité : Chef de projet IT
    Secteur : Distribution

    Informations forums :
    Inscription : mars 2009
    Messages : 206
    Points : 231
    Points
    231

    Par défaut

    Bonjour.

    Merci pour l'aide apportee.

    Je n'arrive pas a faire fonctionner ca, il m'affiche soit 0, soit 15 soit 16 enregistrements en fonction de ce que je mets, mais le tlogrow ne m'affiche que des lignes vides dans la fenetre d'execution. Comme s'il voyait les lignes mais ne recuperait pas les valeurs.

    J'ai trop peu de connaissances pour resoudre le probleme et, dans la mesure ou je souhaitai juste verifier s'il etait possible d'exploiter ce type de fichier sachant que j'ai d'autres solutions avec d'autres formats de fichiers mais des evols a faire (pour obtenir des formats plats), je ferme la discussion.

    Merci encore une fois pour l'aide apportee.

    A l'occasion, je testerai pour essayer d'obtenir quelque chose avec un fichier plus simple.

    Je pense que les infos transmises ici me seront suffisantes.

    Cdlt,
    Jean.

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

Discussions similaires

  1. [Talend Open Studio]Changer la couleur d'une colonne excel
    Par sidewolf dans le forum Développement de jobs
    Réponses: 0
    Dernier message: 22/09/2015, 14h59
  2. Réponses: 0
    Dernier message: 25/11/2011, 08h36
  3. Réponses: 1
    Dernier message: 24/05/2010, 15h07

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