Extraire et remplacer des données texte automatiquement
Emilie93
Messages postés
1
Date d'inscription
Statut
Membre
Dernière intervention
-
heyquem Messages postés 808 Statut Membre -
heyquem Messages postés 808 Statut Membre -
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
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:
- Extraire et remplacer des données texte automatiquement
- Fuite données maif - Guide
- Comment extraire une vidéo youtube - Guide
- Extraire le son d'une vidéo - Guide
- Extraire texte d'une image - Guide
- Texte de chanson gratuit pdf - Télécharger - Vie quotidienne
2 réponses
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.
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.
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))