(reformulando la pregunta para mayor claridad).
Supongamos que tengo 1000 archivos de texto. Cada archivo tiene un formato textual, con descripciones de campos y encabezados fijos, pero los datos son diferentes. Por ejemplo, archivo 1:
The Foo Factory Date: 2015-10-02 Order Details ------------------------- Order ID: [ 1 ] Amount: [ 1 ] Order Price: [ 12.34 ] Have a nice day.
y archivo 2:
The Foo Factory Date: 2016-01-11 Order Details ------------------------- Order ID: [ 7 ] Amount: [ 17 ] Order Price: [ 543.21 ] Have a nice day.
etc. Ahora, supongamos que sigo adelante y traduzco las descripciones de los campos al francés; y eliminé los valores. Entonces ahora tengo:
L'usine Foo Date: Détails de commande ------------------------- Nm.du Commande: [ ] Montant: [ ] Prix du Commande: [ ] Bonne journée.
Realmente no hablo francés, así que ignora cualquier error aquí. De todos modos, las posiciones de todos los campos son exactamente las mismas, pero el texto que no es el valor del campo es diferente. Quiero aplicar este reemplazo a todos los archivos. ¿Cómo logro eso?
Respuesta1
Ya generó el mapa de formato, por lo que el único trabajo restante es reemplazar las expresiones regulares. Generar el mapa es más difícil, especialmente para textos más grandes y complicados. yo sueloTexto sublimepara eso. Pero el caso de uso y la información adicional no están claros aquí; debe llevarlo a softwarerecs.SE si es importante. Estoy incluyendo una versión de Python de todos modos:
# -*- coding: utf-8 -*-
import os
SOURCE_DIRECTORY = ''
DEST_DIRECTORY = ''
replacements = ["L'usine Foo ",
"Détails de commande",
"Nm.du Commande: ",
"Montant: ",
"Prix du Commande: ",
"Bonne journée."]
samples = ["The Foo Factory ",
"Order Details",
"Order ID: ",
"Amount: ",
"Order Price: ",
"Have a nice day."]
for filename in os.listdir(SOURCE_DIRECTORY):
with open(os.path.join(SOURCE_DIRECTORY, filename), 'r') as nctn:
text = nctn.read()
for i, val in enumerate(samples):
text = text.replace(val, replacements[i])
with open(os.path.join(DEST_DIRECTORY, filename), 'w') as nctn:
nctn.write(text)