Veamos cómo eliminar varias líneas repetidas de un archivo usando el poder de manejo de archivos de Python. Si el archivo es pequeño con unas pocas líneas, entonces la tarea de borrar/eliminar las líneas repetidas podría hacerse manualmente, pero cuando se trata de archivos grandes, aquí es donde Python viene al rescate.
Acercarse :
- Abra el archivo de entrada usando la función open() y pase la bandera -r para abrir en modo de lectura.
- Abra un archivo de salida, usando el indicador -w , donde almacenaríamos el contenido del archivo después de eliminar todas las líneas repetidas.
- Usando el método set() , haga un seguimiento de todas las líneas vistas hasta ahora, para que podamos compararlas con la línea de lectura actual.
- Ahora, itere sobre cada línea del archivo de entrada y compárelo con las líneas vistas hasta ahora.
- Si la línea actual también está presente en las líneas vistas hasta ahora, omita esa línea; de lo contrario, escriba esa línea en el archivo de salida y no olvide agregar la línea actual a las líneas vistas hasta ahora.
- Cierra los archivos.
Ejemplo:
Por el bien de este ejemplo, creemos un archivo (Lorem_input.txt) con algo de texto de labios en él. Todas las líneas repetidas están marcadas en negrita.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus est neque, mollis vel massa vel, condimentum facilisis ipsum. Mauris vitae mollis magna. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam laoreet vitae nisi quis rutrum. Sed ut ligula nec enim consequat egestas vel a sapien. Pellentesque sit amet euismod felis. Pellentesque in nibh ultricies, convallis sapien id, sagittis odio. Vivamus placerat ex sed ligula porttitor dignissim. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Clase aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Morbi posuere eget odio ut venenatis. Nam lobortis bibendum maximus. Donec venenatis sapien sed varius accumsan.
Ahora vamos a crear un archivo de salida vacío (Lorem_output.txt), donde almacenaremos el archivo de entrada modificado.
Python3
# creating the output file outputFile = open('C:/Users/user/Desktop/Lorem_output.txt', "w") # reading the input file inputFile = open('C:/Users/user/Desktop/Lorem_input.txt', "r") # holds lines already seen lines_seen_so_far = set() # iterating each line in the file for line in inputFile: # checking if line is unique if line not in lines_seen_so_far: # write unique lines in output file outputFile.write(line) # adds unique lines to lines_seen_so_far lines_seen_so_far.add(line) # closing the file inputFile.close() outputFile.close()
Ejecutar el script de Python anterior eliminará todas las líneas repetidas del archivo de entrada y escribirá el archivo modificado en el archivo de salida. Después de ejecutar este script, el archivo de salida (Lorem_output.txt) se verá así
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus est neque, mollis vel massa vel, condimentum facilisis ipsum. Mauris vitae mollis magna. Aliquam laoreet vitae nisi quis rutrum. Sed ut ligula nec enim consequat egestas vel a sapien. Pellentesque sit amet euismod felis. Pellentesque in nibh ultricies, convallis sapien id, sagittis odio. Vivamus placerat ex sed ligula porttitor dignissim. Clase aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Morbi posuere eget odio ut venenatis. Nam lobortis bibendum maximus. Donec venenatis sapien sed varius accumsan.
Publicación traducida automáticamente
Artículo escrito por equbalzeeshan y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA