Saltar al contenido

¿Eliminar filas en blanco de CSV?

Deseamos darte la mejor solución que hallamos on line. Queremos que te sea de ayuda y si deseas compartir alguna mejora hazlo con libertad.

Solución:

Utilizar el csv módulo:

import csv
...

with open(in_fnam) as in_file:
    with open(out_fnam, 'w') as out_file:
        writer = csv.writer(out_file)
        for row in csv.reader(in_file):
            if row:
                writer.writerow(row)

Si también necesita eliminar filas donde todos los campos están vacíos, cambie el if row: línea a:

if any(row):

Y si también desea tratar los campos que consisten solo en espacios en blanco como vacíos, puede reemplazarlos con:

if any(field.strip() for field in row):

Tenga en cuenta que en Python 2.x y versiones anteriores, el csv módulo esperaba archivos binarios, por lo que necesitaría abrir sus archivos con e 'b' bandera. En 3.x, hacer esto resultará en un error.

Sorprendido de que nadie aquí mencionado pandas. Aquí hay una posible solución.

import pandas as pd
df = pd.read_csv('input.csv')
df.to_csv('output.csv', index=False)

Eliminar fila vacía del archivo .csv usando python

    import csv
  ...


 with open('demo004.csv') as input, open('demo005.csv', 'w', newline='') as output:
     writer = csv.writer(output)
     for row in csv.reader(input):
         if any(field.strip() for field in row):
             writer.writerow(row)

Gracias

Nos puedes añadir valor a nuestro contenido informacional dando tu veteranía en las aclaraciones.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *