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

Talend Discussion :

Talend Open Studio _ fichier non XML une seule colonne a repartir en colonnes diverses


Sujet :

Talend

  1. #1
    Membre actif
    Homme Profil pro
    Manager de Projet SAP
    Inscrit en
    Mars 2009
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Pologne

    Informations professionnelles :
    Activité : Manager de Projet SAP
    Secteur : Distribution

    Informations forums :
    Inscription : Mars 2009
    Messages : 210
    Points : 238
    Points
    238
    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 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,

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


    Schema
    code : Integer
    payement : String

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

    Execution
    Nom : Exemple_TFileInputRegex_exec.png
Affichages : 390
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
    Manager de Projet SAP
    Inscrit en
    Mars 2009
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Pologne

    Informations professionnelles :
    Activité : Manager de Projet SAP
    Secteur : Distribution

    Informations forums :
    Inscription : Mars 2009
    Messages : 210
    Points : 238
    Points
    238
    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 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
    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
    Manager de Projet SAP
    Inscrit en
    Mars 2009
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Pologne

    Informations professionnelles :
    Activité : Manager de Projet SAP
    Secteur : Distribution

    Informations forums :
    Inscription : Mars 2009
    Messages : 210
    Points : 238
    Points
    238
    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
    Manager de Projet SAP
    Inscrit en
    Mars 2009
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Pologne

    Informations professionnelles :
    Activité : Manager de Projet SAP
    Secteur : Distribution

    Informations forums :
    Inscription : Mars 2009
    Messages : 210
    Points : 238
    Points
    238
    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, 13h59
  2. Réponses: 0
    Dernier message: 25/11/2011, 07h36
  3. Réponses: 1
    Dernier message: 24/05/2010, 14h07

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