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 :

Récupération du nom d'un fichier


Sujet :

Développement de jobs

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 10
    Par défaut Récupération du nom d'un fichier
    Bonjour,

    J'utilise un TFileList pour lister les fichiers d'un répertoire et un TFileInputDelimited pour lires les données de chaque fichier. Le tout est envoyer dans un TMap pour pour traiter le données et envoyé dans un TFileOutputDelimited qui regroupe le tout.
    Pour identifier les données l'origine de chaque donnée, je dispose d'une zone dans mes données qui permet de récupérer le nom du fichier mais sans le l'arborescence.

    Suite à mes recherche sur le forum, j'ai essayer ceci
    (new File((String)globalMap.get("tFileList_1CURRENT_FILEPATH"))).basename

    Le soucis, c'est que j'ai une erreur
    "File n'est pas reconnu comme type valide"

    Quelqu'un aurait-il une idée ?

  2. #2
    Membre Expert
    Avatar de haskouse
    Homme Profil pro
    Salesforce
    Inscrit en
    Août 2009
    Messages
    923
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Maroc

    Informations professionnelles :
    Activité : Salesforce
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2009
    Messages : 923
    Par défaut
    Salut,

    En effet il y'a plus facile pour récupérer juste le nom du fichier. Voilà la liste des variables générées par le tFileList et que tu peux récupérer depuis la globalMap :

    tFileList_1_CURRENT_FILE --> Récupère le nom du fichier (c'est celle qui t'interesse).
    tFileList_1_NB_FILE --> Récupère le nombre total de fichier.
    tFileList_1_CURRENT_FILEDIRECTORY --> Récupère le répértoire courant.
    tFileList_1_CURRENT_FILEEXTENSION --> Récupère l'extension du fichier courant.
    tFileList_1_CURRENT_FILEPATH --> Récupère le chemin complet du fichier courant.

    Donc pour toi tu vas utiliser ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    
    (String)globalMap.get("tFileList_1_CURRENT_FILE")
    
    Bonne chance.
    "Le savant qui enseigne le bien aux gens et ne le met pas en pratique, est semblable à la torche qui éclaire en se brûlant." Mohammed le Messager d’Allah (que la paix et le salut d'Allah soient sur lui)

    Tutoriels Talend
    Mes articles publiés
    Mon CV en-ligne

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 10
    Par défaut
    Merci, ça marche très bien comme ça.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 31
    Par défaut
    Citation Envoyé par haskouse Voir le message
    Salut,

    En effet il y'a plus facile pour récupérer juste le nom du fichier. Voilà la liste des variables générées par le tFileList et que tu peux récupérer depuis la globalMap :

    tFileList_1_CURRENT_FILE --> Récupère le nom du fichier (c'est celle qui t'interesse).
    tFileList_1_NB_FILE --> Récupère le nombre total de fichier.
    tFileList_1_CURRENT_FILEDIRECTORY --> Récupère le répértoire courant.
    tFileList_1_CURRENT_FILEEXTENSION --> Récupère l'extension du fichier courant.
    tFileList_1_CURRENT_FILEPATH --> Récupère le chemin complet du fichier courant.

    Donc pour toi tu vas utiliser ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    
    (String)globalMap.get("tFileList_1_CURRENT_FILE")
    
    Bonne chance.
    Bonjour,

    Pouvez-vous me dire où insérer ces informations?

    Dans mon cas je cherche à parcourir tous les fichiers XLS qui sont dans un dossier LAMBDA.
    Tous les fichiers XLS ont la même forme et je veux récupérer toutes leurs données pour les insérer en base.
    Du coup j'ai voulu créer un TFileList que j'ai associé à un TFileInputExcel par un lien Iterate.
    En revanche je crois que j'ai des soucis dans les paramètres car je récupère toujours les données du 1er fichier XLS..et cela autant de fois que j'ai de fichiers XLS dans mon dossier!
    Par exemple si j'ai 12 fichiers XLS dans mon dossier LAMBDA ça m'insère dans ma base 12 fois les données du 1er fichier!!

    Pourriez-vous m'aider en m'en disant davantage sur les paramètres à configurer??

    MErci!

    ps: je vous joins les paramètres que j'ai modifié : il n'y en a pas beaucoup et je pense que le problème vient de là!!
    Images attachées Images attachées   

  5. #5
    Membre Expert
    Avatar de haskouse
    Homme Profil pro
    Salesforce
    Inscrit en
    Août 2009
    Messages
    923
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Maroc

    Informations professionnelles :
    Activité : Salesforce
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2009
    Messages : 923
    Par défaut
    salut,

    En effet le problème réside dans ton paramétrage du tFileInputExcel, dans le chemin du fichier tu as mis celui du premeir fichier, c'est normal qu'il le lise à chaque itération, normalement tu devrais mettres le chemin du fichier en cours de traitement par le tFileList, càd ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (String)globalMap.get("tFileList_1_CURRENT_FILEPATH")


    Bonne chance.
    "Le savant qui enseigne le bien aux gens et ne le met pas en pratique, est semblable à la torche qui éclaire en se brûlant." Mohammed le Messager d’Allah (que la paix et le salut d'Allah soient sur lui)

    Tutoriels Talend
    Mes articles publiés
    Mon CV en-ligne

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 31
    Par défaut
    Citation Envoyé par haskouse Voir le message
    salut,

    En effet le problème réside dans ton paramétrage du tFileInputExcel, dans le chemin du fichier tu as mis celui du premeir fichier, c'est normal qu'il le lise à chaque itération, normalement tu devrais mettres le chemin du fichier en cours de traitement par le tFileList, càd ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (String)globalMap.get("tFileList_1_CURRENT_FILEPATH")


    Bonne chance.
    Super ça marche beaucoup mieux comme ça! Merci bcp

    en revanche j'avais essayé de suivre la doc talend et ds leur doc ils parlaient d'un $global. Pouvez-vous me dire la différence entre ça et le globalMap ?
    La question est peut être idiote mais je débute de zéro!!
    Images attachées Images attachées  

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 31
    Par défaut
    Citation Envoyé par maeva13 Voir le message
    Super ça marche beaucoup mieux comme ça! Merci bcp

    en revanche j'avais essayé de suivre la doc talend et ds leur doc ils parlaient d'un $global. Pouvez-vous me dire la différence entre ça et le globalMap ?
    La question est peut être idiote mais je débute de zéro!!
    Je crois avoir trouvé la réponse entre temps.
    Si ça intéresse quelqu'un :
    ((String)globalMap.get("tFileList_1_CURRENT_FILEPATH")) --> si on travaille en Java,
    $_globals{tFileList_1}{CURRENT_FILEPATH} --> si on travaille en Perl.

    Je me référais à la doc de TOS v.3 et l'explication n'y était pas! Je l'ai trouvé ds la doc v.4!

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

Discussions similaires

  1. récupération du nom d'un fichier
    Par twisty dans le forum Word
    Réponses: 3
    Dernier message: 30/11/2011, 16h18
  2. Récupération du nom d'un fichier à partir de son chemin!
    Par Crhys dans le forum Général Java
    Réponses: 3
    Dernier message: 15/03/2010, 10h05
  3. Récupération du nom d'un fichier joint par script.
    Par saymon dans le forum InfoPath
    Réponses: 2
    Dernier message: 12/05/2009, 18h54
  4. [E-03] Récupération du nom d'un fichier ouvert
    Par beben31 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 09/01/2009, 10h51
  5. [XSLT] Récupération du nom du fichier XML analysé
    Par Patkaza dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 26/01/2005, 11h28

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