Automatiser le traitement d'un fichier texte
Fermé
Swiss Knight
Messages postés
1956
Date d'inscription
samedi 22 novembre 2008
Statut
Membre
Dernière intervention
27 juillet 2016
-
28 mars 2012 à 21:57
heyquem Messages postés 759 Date d'inscription mercredi 17 juin 2009 Statut Membre Dernière intervention 29 décembre 2013 - 1 avril 2012 à 23:59
heyquem Messages postés 759 Date d'inscription mercredi 17 juin 2009 Statut Membre Dernière intervention 29 décembre 2013 - 1 avril 2012 à 23:59
A voir également:
- Automatiser le traitement d'un fichier texte
- Fichier rar - Guide
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
- Ouvrir un fichier .bin - Guide
- Fichier host - Guide
4 réponses
heyquem
Messages postés
759
Date d'inscription
mercredi 17 juin 2009
Statut
Membre
Dernière intervention
29 décembre 2013
131
Modifié par heyquem le 29/03/2012 à 22:08
Modifié par heyquem le 29/03/2012 à 22:08
Bonsoir,
Si je comprends bien, tu fais tout à la main et en utilisant quelques fonctionnalités de Notepad++.
Mais, pour autant que je sache, les fonctionnalités de Notepad++ ne peuvent pas être considérées comme de la programmation.
Seul un programme écrit dans un langage donné et enregistré, s'exécutant sans avoir à retaper des formules répétitivement, t'apportera la diminution de travail que tu recherches.
La question est donc "sais tu programmer ? connais tu un langage de programmation ?"
Si ce n'est pas le cas, tu peux te mettre à Python, ton problème sera rapidement résolu avec un programme aisément écrit en Python, car d'après ce que tu expliques tes besoins sont assez simples.
Si cela t'intéresse, il faudrait donner un fichier de départ, le fichier que tu veux obtenir, et les transformations à faire pour passer de l'un à l'autre, je pourrais essayer de t'aider à écrire le programme. Car Python est puissant pour les traitements de texte
Si je comprends bien, tu fais tout à la main et en utilisant quelques fonctionnalités de Notepad++.
Mais, pour autant que je sache, les fonctionnalités de Notepad++ ne peuvent pas être considérées comme de la programmation.
Seul un programme écrit dans un langage donné et enregistré, s'exécutant sans avoir à retaper des formules répétitivement, t'apportera la diminution de travail que tu recherches.
La question est donc "sais tu programmer ? connais tu un langage de programmation ?"
Si ce n'est pas le cas, tu peux te mettre à Python, ton problème sera rapidement résolu avec un programme aisément écrit en Python, car d'après ce que tu expliques tes besoins sont assez simples.
Si cela t'intéresse, il faudrait donner un fichier de départ, le fichier que tu veux obtenir, et les transformations à faire pour passer de l'un à l'autre, je pourrais essayer de t'aider à écrire le programme. Car Python est puissant pour les traitements de texte
jisisv
Messages postés
3645
Date d'inscription
dimanche 18 mars 2001
Statut
Modérateur
Dernière intervention
15 janvier 2017
934
30 mars 2012 à 06:04
30 mars 2012 à 06:04
Si tes fichiers de sortie sont du XML, utilise un processeur XSLT comme XALAN avec XPATH
Plutôt que de bidouiller.
Plutôt que de bidouiller.
heyquem
Messages postés
759
Date d'inscription
mercredi 17 juin 2009
Statut
Membre
Dernière intervention
29 décembre 2013
131
31 mars 2012 à 00:04
31 mars 2012 à 00:04
Il n'a pas parlé d'obtenir un fichier en XML, il a dit qu'il doit transformer un fichier *.xls en fichier *.txt afin de le passer à un programme.
Je me suis assuré que le contenu réel (en le lisant comme un fichier binaire) d'un fichier *.xls n'est pas du XML: il n'y a pas de balises, il n'y a pas d'arbre logique à analyser. C'est donc relativement simple à analyser et je maintiens que cela peut se faire aisément avec Python, sans que ce soit du bidouillage.
Pas la peine non plus de vouloir prendre un vaisseau spatial pour traverser la rue.
Je me suis assuré que le contenu réel (en le lisant comme un fichier binaire) d'un fichier *.xls n'est pas du XML: il n'y a pas de balises, il n'y a pas d'arbre logique à analyser. C'est donc relativement simple à analyser et je maintiens que cela peut se faire aisément avec Python, sans que ce soit du bidouillage.
Pas la peine non plus de vouloir prendre un vaisseau spatial pour traverser la rue.
Swiss Knight
Messages postés
1956
Date d'inscription
samedi 22 novembre 2008
Statut
Membre
Dernière intervention
27 juillet 2016
110
1 avril 2012 à 22:08
1 avril 2012 à 22:08
Salut,
alors :
- les fichiers sont du *.xls et j'aimerai avoir du *.txt à la fin.
- il y a deux trois commandes que j'utilise avec le notepad pour chercher & remplacer du texte et mettre en forme mon truc pour que ce soit accepté par mon programme après.
Certaines regex sont longues et je me contente de les copier/coller depuis un autre fichier texte. Mais c'est pas très amical comme méthode... et effectivement, les fonctionnalités de notepad++ ne sont pas vraiment de la programmation.
et on en vient au point noir de l'histoire :
je ne sais pas programmer... enfin je bidouille un peu du latex et du matlab mais d'autres langages, non, bien que j'aille fait un pet de C il y a fort (trop) longtemps.
Python ? Oui ça m'intéresse, bien entendu. Je pensais m'y diriger petit à petit d'ailleurs, mais comble de malchance, je n'ai trouvé aucun "truc" (je cherche le mot pour dire "environnement de travail complet pour un langage de programmation") pour faire du python sans être administrateur sous Windows (poste de 'travail')... Donc une sorte d'environnement complètement portable.
L'autre option serait de faire ça depuis mon pc perso, et là c'est sous Linux que je suis. Des conseils ? J'ai entendu parlé de Geany... Eclipse, et de Code::Blocks pour ce genre d'outils. Si vous en avez d'autres, ou des conseils, remarques, etc, je prends avec plaisir.
Ah, et pour Python, euh... il comprend les regex directement ?! Genre si je peux lui refiler mes lignes telle quelle, ce serait le top.
Voilà !
Merci et bon début de semaine à tout(e)s ! ;)
alors :
- les fichiers sont du *.xls et j'aimerai avoir du *.txt à la fin.
- il y a deux trois commandes que j'utilise avec le notepad pour chercher & remplacer du texte et mettre en forme mon truc pour que ce soit accepté par mon programme après.
Certaines regex sont longues et je me contente de les copier/coller depuis un autre fichier texte. Mais c'est pas très amical comme méthode... et effectivement, les fonctionnalités de notepad++ ne sont pas vraiment de la programmation.
et on en vient au point noir de l'histoire :
je ne sais pas programmer... enfin je bidouille un peu du latex et du matlab mais d'autres langages, non, bien que j'aille fait un pet de C il y a fort (trop) longtemps.
Python ? Oui ça m'intéresse, bien entendu. Je pensais m'y diriger petit à petit d'ailleurs, mais comble de malchance, je n'ai trouvé aucun "truc" (je cherche le mot pour dire "environnement de travail complet pour un langage de programmation") pour faire du python sans être administrateur sous Windows (poste de 'travail')... Donc une sorte d'environnement complètement portable.
L'autre option serait de faire ça depuis mon pc perso, et là c'est sous Linux que je suis. Des conseils ? J'ai entendu parlé de Geany... Eclipse, et de Code::Blocks pour ce genre d'outils. Si vous en avez d'autres, ou des conseils, remarques, etc, je prends avec plaisir.
Ah, et pour Python, euh... il comprend les regex directement ?! Genre si je peux lui refiler mes lignes telle quelle, ce serait le top.
Voilà !
Merci et bon début de semaine à tout(e)s ! ;)
heyquem
Messages postés
759
Date d'inscription
mercredi 17 juin 2009
Statut
Membre
Dernière intervention
29 décembre 2013
131
Modifié par heyquem le 2/04/2012 à 00:00
Modifié par heyquem le 2/04/2012 à 00:00
Pour télécharger Python:
https://www.python.org/downloads/
Pour l'installer c'est fort simple. Mais si tu ne peux pas le faire parce que tu n'es pas administrateur, je ne suis pas assez calé pour savoir comment contourner le problème.
Si tu installes sur ton microordinateur perso, tu verras que Python est accompagné d'un EDI nommé IDLE. Jusqu'à présent je n'ai utilisé que lui, je n'en ai pas pratiqué d'autres.
Python se débrouille for bien avec les regex. Je ne comprends pas ce que tu entends par "refiler des lignes"
Voici un exemple, la détection et la capture de 3 chiffres précédés d'un blanc et suivis de a ou z exclusivement:
résultat
https://www.python.org/downloads/
Pour l'installer c'est fort simple. Mais si tu ne peux pas le faire parce que tu n'es pas administrateur, je ne suis pas assez calé pour savoir comment contourner le problème.
Si tu installes sur ton microordinateur perso, tu verras que Python est accompagné d'un EDI nommé IDLE. Jusqu'à présent je n'ai utilisé que lui, je n'en ai pas pratiqué d'autres.
Python se débrouille for bien avec les regex. Je ne comprends pas ce que tu entends par "refiler des lignes"
Voici un exemple, la détection et la capture de 3 chiffres précédés d'un blanc et suivis de a ou z exclusivement:
import re regx = re.compile(' (\d{3})[az]') text = 'sbvfg 2145f kgsjk iuy125a kjhf 45856zjuy 479anhfg 5420a lkjhdf 325ahytte' print regx.findall(text)
résultat
['479', '325']