Usar un archivo de texto como una 'plantilla' modificada para otros archivos de texto con formularios

Usar un archivo de texto como una 'plantilla' modificada para otros archivos de texto con formularios

(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)

información relacionada