Extraire et remplacer des données texte automatiquement

Fermé
Emilie93 Messages postés 1 Date d'inscription dimanche 6 janvier 2013 Statut Membre Dernière intervention 6 janvier 2013 - Modifié par Emilie93 le 6/01/2013 à 18:36
heyquem Messages postés 759 Date d'inscription mercredi 17 juin 2009 Statut Membre Dernière intervention 29 décembre 2013 - 6 janv. 2013 à 20:51
Bonjour à toutes et tous,

J'expose avant tout le problème, puis donne des données concrètes.
Merci pour votre éclairage. J'ai tenté avec Notepad ++, mais je ne parviens pas à automatiser de manière assez rapide et efficace.


J'ai trois fichiers texte.


Le 1er contient des lignes de texte simple : "bonjour" (je le nomme A)
Le 2ème: Contient des chiffres :"45" (je le nomme B)
Le 3ème, est un fichier avec du code et qui est la cible finale. (je le nomme C)

Je veux pouvoir placer les données de la ligne 1 du fichier A et les données de la ligne 1 du fichier B dans un endroit spécifique du code du fichier C


Illustration :

Fichier A :

Bonjour
Comment ca va ?
Ca va et toi ?


Fichier B :

7
15
14


Fichier C :


Le fichier C contient plusieurs lignes de code, dont :

<TRstring>TEXTE</TRString> et RunCount="CHIFFRE"


RÉSULTAT SOUHAITÉ

(+ tout le code avant) <TRstring>Bonjour</TRString> (+ code entre) RunCount="7" (+ tout le code après) --> Enregistrer en : 1.txt

(+ tout le code avant) <TRstring>Comment ca va ?</TRString> (+ code entre) RunCount="15" (+ tout le code après) Enregistrer en : 2.txt

(+ tout le code avant) <TRstring>Ca va et toi ?</TRString> (+ code entre) RunCount="14" (+ tout le code après) Enregistrer en : 3.txt

etc, il y a bien 500 lignes ainsi.


Je vous remercie.

Si mon explication n'est pas assez précise, n'hésitez pas à m'en informer.

Cordialement
Emi
A voir également:

2 réponses

heyquem Messages postés 759 Date d'inscription mercredi 17 juin 2009 Statut Membre Dernière intervention 29 décembre 2013 131
6 janv. 2013 à 20:07
Bonsoir,

Pratiques-tu déjà un langage de programmation ?

Si ce n'est pas le cas et que tu acceptes de commencer avec n'importe quel langage, je peux t'aider à faire facilement ça avec Python.

Il va falloir utiliser les expressions régulières.
0
heyquem Messages postés 759 Date d'inscription mercredi 17 juin 2009 Statut Membre Dernière intervention 29 décembre 2013 131
6 janv. 2013 à 20:51
Tiens, d'ailleurs j'ai déjà écrit le code, pour Python 3:
with open('fichierA.txt','r') as f:
    lignes_A = f.read().splitlines()

with open('fichierB.txt','r') as f:
    lignes_B = f.read().splitlines()

with open('fichierC.txt','r') as f:
    contC = f.read()

import re
RE_pattern = '(?<=<TRstring>)TEXTE(</TRString>.+?RunCount=")CHIFFRE(?=")'
regulex = re.compile(RE_pattern,re.DOTALL)

for i,(a,b) in enumerate(zip(lignes_A,lignes_B)):
    with open('%d.txt' % i,'w') as f:
        f.write(regulex.sub('%s\\g<1>%s' % (a.strip(),b.strip()),contC))
0