Label Décisionnel
Bienvenue, Invité
Merci de vous identifier ou de vous inscrire.    Mot de passe perdu?
Excel vers fichiers Texte (1 lecteur(s)) (1) Invité(s)
Aller en bas Répondre Ajouté aux favoris : 0
SUJET: Excel vers fichiers Texte
#5104
sessime (Utilisateur)
Fresh Boarder
Messages: 3
graphgraph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur
Excel vers fichiers Texte depuis 1 Mois, 2 Semaines Karma: 0  
Salut,
Je suis entrain de mettre en place un projet sous Talend qui doit me permettre de transformer le fichier Excel en fichier texte.
Vous pourriez me donner les indications sur la demarche a suivre pour formater mon fichier excel et avoir en sortie un fichier texte.
Par avance merci
 
  L'administrateur a désactivé l'accès public en écriture.
#5106
choupe (Utilisateur)
Platinum Boarder
Messages: 470
graphgraph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur
Re:Excel vers fichiers Texte depuis 1 Mois, 1 Semaine Karma: 18  
Bonjour,

Pour créer une metadata Excel :
- Aller dans MEtadata,
- Choisir Fichier Excel
- Donner un nom au metada puis suivant
- Sélectionner un fichier Excel
- Selectionner une feuille du fichier Excel
- Suivant
- Indiquer si la feuille contient en première ligne les entetes
- Suivant


Pour l'export dans un fichier text :
- Placer le fichier excel dans un job entant qu'Input
- placer un tFileOutputDelimited et y spécifier le chemin du fichier cible
- relier ces 2 composants par un lien Main/Principal
- Dans le tFileOutputDelimited, sélectionner "Synchroniser les colonnes"
- Le job est pret

tu peux utiliser un tMap ou un tJavaRow pour faire des transformations si besoin.
 
  L'administrateur a désactivé l'accès public en écriture.
#5108
sessime (Utilisateur)
Fresh Boarder
Messages: 3
graphgraph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur
Re:Excel vers fichiers Texte depuis 1 Mois, 1 Semaine Karma: 0  
Salut
Merci pour votre réaction.
En effet,j'ai opté pour une approche Tmap(puisque mon fichier subit des transformations) mais j'ai de serieux problmes a l'etape de generation.
-->Fichier en entrée (Excel)
id|name|email
1 |ta | Cet e-mail est protégé contre les robots collecteurs de mails, votre navigateur doit accepter le Javascript pour le voir
2 |toto| Cet e-mail est protégé contre les robots collecteurs de mails, votre navigateur doit accepter le Javascript pour le voir
3 |tat |

Ce fichier doit etre transformé pour avoir un fichier texte en sortie mais avec les trois colonnes sur des longueurs fixes
La colonne ID sera sur 4 positions,la colonne NAME sur 20 positions juste apres ID et la derniere colonne EMAIL sur 62 positions.
Pour ce faire j'ai defini au niveau de Tmap des transformations en utilisant les fonctions de gestion de chaine
StringHandling.LEFT(StringHandling.TRIM(row1.email)+StringHandling.SPACE(62),62)
A la complitation du Job,j'ai des erreurs sur la fonction Trim
ERREUR()
Apres analyse,je constate que s'il y a des lignes d'une colonne qui est vide c'est pourquoi il ya erreur par exemple la ligne 3 genere des erreurs donc
pas de fichier texte en sortie.
Je rappelle que mon projet est sous JAVA et non Perl.
Je demande à la communauté de me donner des astuces pour contourner ce probleme au cas la transformation rencontre des vides sur une colonne.
Par avance merci pour votre retour.

@+
 
  L'administrateur a désactivé l'accès public en écriture.
#5109
choupe (Utilisateur)
Platinum Boarder
Messages: 470
graphgraph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur
Re:Excel vers fichiers Texte depuis 1 Mois, 1 Semaine Karma: 18  
je trouve ta fonction compliquée pour java :
StringHandling.LEFT(StringHandling.TRIM(row1.email)+StringHandling.SPACE(62),62)

il doit exister une autre fonction plus claire.

mais pour ton probème de null, tu peux tester la valeur de email comme suite :
StringHandling.LEFT(StringHandling.TRIM((row1.email==null)?"":row1.email)+StringHandling.SPACE(62),62)

ainsi tu n'aura plus d'erreur

pour rappel l'opérateur ternaire (condition)?valtrue:valfalse se traduit par
if (condition) return valtrue; else return valfalse;

sinon je pense qu'il faut utiliser le composant tFileOutputPositional. Dans ce type de fichier tu n'as pas des séparateurs mais des longeurs de champs. ceci devrait grandement t'aider.
 
  L'administrateur a désactivé l'accès public en écriture.
#5118
sessime (Utilisateur)
Fresh Boarder
Messages: 3
graphgraph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur
Re:Excel vers fichiers Texte depuis 1 Mois, 1 Semaine Karma: 0  
Salut,
J'ai essayé votre proposition d'operateur ternaire mais j'ai une erreur JVM.
J'ai donc opté pour la seconde approche TfileOutputPositionnal ,j'ai toujours la meme erreur.
Voici l'erreur :
Could not create the Java virtual machine.
Error occurred during initialization of VM
Could not reserve enough space for object heap
Job TRANSFORMATIONCUSTOMER terminé à 15:38 08/02/2010. [Code sortie=1]

Donnez mes indications si possible.
 
  L'administrateur a désactivé l'accès public en écriture.
#5119
choupe (Utilisateur)
Platinum Boarder
Messages: 470
graphgraph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur
Re:Excel vers fichiers Texte depuis 1 Mois, 1 Semaine Karma: 18  
cette erreur n'est pas dû à Talend à proprement dit mais à la JVM. Il y a un problème de gestion mémoire. Tu lances via Talend ou via le job exporté ?

Si via le job exporté, il faut modifier le .bat lancant le job pour y diminuer le paramètre -Xmx

Si par talend, cette diminution se fait via
- le menu Fenete
- sous-menu Préférence
- Talend
- Run/debug
- Arguments VM de lancement des Job
 
  L'administrateur a désactivé l'accès public en écriture.
Revenir en haut Répondre
Développé par FireBoardObtenir les derniers messages directement sur votre PC
Joomla Template by Joomlashack
Joomla Templates by JoomlaShack Joomla Templates