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.