Saltar al contenido

¿Agregar un encabezado para el archivo CSV?

Te sugerimos que revises esta solución en un ambiente controlado antes de pasarlo a producción, un saludo.

Solución:

Una forma es leer todos los datos, luego sobrescribir el archivo con el encabezado y volver a escribir los datos. Esto podría no ser práctico con un archivo CSV grande:

#!python3
import csv
with open('file.csv',newline='') as f:
    r = csv.reader(f)
    data = [line for line in r]
with open('file.csv','w',newline='') as f:
    w = csv.writer(f)
    w.writerow(['ColA','ColB'])
    w.writerows(data)

Creo que debería usar pandas para leer el archivo csv, insertar los encabezados/etiquetas de columna y emitir el nuevo archivo csv. asumiendo que su archivo csv está delimitado por comas. Algo como esto debería funcionar:

   from pandas import read_csv

   df = read_csv('test.csv')
   df.columns = ['a', 'b']
   df.to_csv('test_2.csv')

Sé que la pregunta se hizo hace mucho tiempo. Pero para otros que se topan con esta pregunta, aquí hay una alternativa a Python.

Si tiene acceso a sed (lo tiene si está trabajando en Linux o Mac; también puede descargar Ubuntu Bash en Windows 10 y sed vendrá con él), puede usar esta frase:

sed -i 1i"ColA,ColB" mycsvfile.csv

El -i se asegurará de que sed se edite en el lugar, lo que significa que sed sobrescribirá el archivo con el encabezado en la parte superior. Esto es arriesgado.

Si desea crear un nuevo archivo en su lugar, haga esto

sed 1i"ColA,ColB" mycsvfile.csv > newcsvfile.csv

valoraciones y reseñas

Tienes la opción de confirmar nuestro ensayo exponiendo un comentario y dejando una valoración te damos la bienvenida.

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


Tags : / /

Utiliza Nuestro Buscador

Deja una respuesta

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