Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > ETL > Talend
Talend Forum d'entraide sur Talend (Talend Open Studio, ...). Avant de poster --> FAQ Talend, Tutoriels Talend
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/07/2011, 11h28   #1
Invité de passage
 
Inscription : octobre 2004
Messages : 9
Détails du profil
Informations forums :
Inscription : octobre 2004
Messages : 9
Points : 2
Points : 2
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 ?
VFabritius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/07/2011, 16h53   #2
Membre Expert
 
Avatar de haskouse
 
Homme Mustapha EL HASSAK
Ingénieur développement logiciels
Inscription : août 2009
Messages : 627
Détails du profil
Informations personnelles :
Nom : Homme Mustapha EL HASSAK
Âge : 26
Localisation : Maroc

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : Finance

Informations forums :
Inscription : août 2009
Messages : 627
Points : 1 514
Points : 1 514
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 :
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)

Mes articles publiés
haskouse est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/07/2011, 14h35   #3
Invité de passage
 
Inscription : octobre 2004
Messages : 9
Détails du profil
Informations forums :
Inscription : octobre 2004
Messages : 9
Points : 2
Points : 2
Merci, ça marche très bien comme ça.
VFabritius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2011, 15h42   #4
Invité régulier
 
m g
Inscription : juin 2010
Messages : 28
Détails du profil
Informations personnelles :
Nom : m g

Informations forums :
Inscription : juin 2010
Messages : 28
Points : 7
Points : 7
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 :
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
Type de fichier : jpg 2011-08-23_153920.jpg (116,6 Ko, 11 affichages)
Type de fichier : jpg 2011-08-23_154103.jpg (63,1 Ko, 7 affichages)
maeva13 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2011, 16h06   #5
Membre Expert
 
Avatar de haskouse
 
Homme Mustapha EL HASSAK
Ingénieur développement logiciels
Inscription : août 2009
Messages : 627
Détails du profil
Informations personnelles :
Nom : Homme Mustapha EL HASSAK
Âge : 26
Localisation : Maroc

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : Finance

Informations forums :
Inscription : août 2009
Messages : 627
Points : 1 514
Points : 1 514
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 :
(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)

Mes articles publiés
haskouse est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2011, 16h14   #6
Invité régulier
 
m g
Inscription : juin 2010
Messages : 28
Détails du profil
Informations personnelles :
Nom : m g

Informations forums :
Inscription : juin 2010
Messages : 28
Points : 7
Points : 7
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 :
(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
Type de fichier : jpg 2011-08-23_161152.jpg (58,8 Ko, 3 affichages)
maeva13 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2011, 16h32   #7
Invité régulier
 
m g
Inscription : juin 2010
Messages : 28
Détails du profil
Informations personnelles :
Nom : m g

Informations forums :
Inscription : juin 2010
Messages : 28
Points : 7
Points : 7
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!
maeva13 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h35.


 
 
 
 
Partenaires

Hébergement Web