Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
fusionar dos o más línea en una en txt con condición usando Python
#1
Buenas,
Estoy intentando añadir a la línea anterior de un txt la siguiente si cumple "x" condición. En este caso, es si la línea termina con "|" añade la siguiente a continuación. No termino de sacarlo, consigo programar la condición pero no consigo añadir la siguiente línea a esa. Sobre todo porque a veces son dos seguidas.

El código es este:

Código:
f = open(ruta, 'r')
for line in f:
    for word in line.split():
        word = word.rstrip("!?")
        if word.endswith('|'):
            lines = lines.replace("\n", "")
with open(ruta, 'w') as f:
    f.writelines(lines)

El fichero que trato de convertir sería el primero y necesito que quede como el segundo, pero no doy con la solución. Alguna idea? También había pensado si no comienza por número, añade esa línea a la anterior. Pero no consigo programar la tecla backspace. Alguna idea? Gracias!


Archivos adjuntos
.txt   Fichero1.txt (Tamaño: 123 bytes / Descargas: 2)
.txt   Fichero2.txt (Tamaño: 115 bytes / Descargas: 2)
Responder
#2
Hola, bienvenido.

Si entiendo bien, podrías hacer algo como esto:

Código:
from pathlib import Path

Path(ruta).write_text(
    Path(ruta).read_text().replace("|\n", "|")
)

Saludos
¡No te pierdas nuestro curso oficial en Udemy para aprender Python, bases de datos SQL, orientación a objetos, tkinter y mucho más!

También ofrecemos consultoría profesional de desarrollo en Python para personas y empresas.
Responder
#3
Gracias, Francisco! funcionó perfecto!
Responder


Salto de foro:


Usuarios navegando en este tema: 2 invitado(s)