Back

Exportar DataFrame de Pandas a CSV: Guía Completa de to_csv()

Exportar DataFrame de Pandas a CSV: Guía Completa de to_csv()

¿Estás tratando de guardar un DataFrame de Pandas como un archivo CSV? El método to_csv() en Pandas facilita la exportación de tus datos a un archivo de valores separados por comas (CSV) con solo unas pocas líneas de código.

En esta guía, te mostraremos cómo usar to_csv() para guardar un DataFrame en CSV, cubriendo los parámetros clave para personalizar la salida. También verás ejemplos de opciones comunes como excluir el índice, especificar el separador, manejar datos faltantes y más.

Puntos Clave

  • Usa df.to_csv('file.csv', index=False) para guardar un DataFrame en CSV sin el índice.
  • Especifica el separador con el parámetro sep. Las opciones comunes son coma , y tabulación \t.
  • Representa los datos faltantes con el parámetro na_rep.
  • Guarda un subconjunto de columnas pasando una lista al parámetro columns.
  • Formatea las columnas de fecha y hora usando date_format y los códigos strftime.
  • Exporta directamente a archivos CSV comprimidos proporcionando un tipo de compression.

Cómo Exportar un DataFrame a CSV con to_csv()

La sintaxis básica para guardar un DataFrame de Pandas df en un archivo CSV es:

df.to_csv('data.csv', index=False)

Esto exportará el DataFrame a un archivo llamado data.csv en el directorio actual. El parámetro index=False excluye el índice del DataFrame de ser guardado en el CSV.

Algunos otros parámetros de to_csv() frecuentemente utilizados incluyen:

  • sep: Cadena de longitud 1 que especifica el delimitador de campo. El valor predeterminado es ,.
  • na_rep: Representación de cadena de datos faltantes. El valor predeterminado es una cadena vacía.
  • header: Escribe los nombres de columna en el CSV. El valor predeterminado es True.
  • encoding: Codificación de archivo a utilizar. El valor predeterminado es 'utf-8'.

Exploraremos estas opciones con más detalle en los ejemplos a continuación.

Ejemplos de Exportación de DataFrames a CSV

Exportación Básica de DataFrame a CSV

import pandas as pd

data = {'name': ['John', 'Anna', 'Peter', 'Linda'], 
        'age': [25, 31, 42, 28],
        'city': ['New York', 'Paris', 'Berlin', 'London']}

df = pd.DataFrame(data)

df.to_csv('people.csv', index=False)

Esto guarda el DataFrame en people.csv con las opciones predeterminadas - separador de coma y sin columna de índice.

Especificar Separador y Representación de Datos Faltantes

df.to_csv('people.csv', sep='\t', na_rep='MISSING', index=False)

Usa tabulación (\t) en lugar de coma como separador y representa los datos faltantes como la cadena 'MISSING'.

Guardar Subconjunto de Columnas en CSV

columns_to_save = ['name', 'age']
df.to_csv('people.csv', columns=columns_to_save, index=False)

Guarda solo las columnas 'name' y 'age' en el CSV.

Manejo de Columnas de Fecha y Hora

df['birth_date'] = pd.to_datetime(['1997-05-23', '1991-04-12', 
                                   '1980-09-01', '1994-11-18'])

df.to_csv('people.csv', date_format='%B %d, %Y', index=False)

Especifica una cadena de formato de fecha personalizada para las columnas de fecha y hora usando el parámetro date_format.

Exportaciones de CSV Comprimidas

Pandas permite guardar directamente en archivos CSV comprimidos especificando un tipo de compresión:

# Guardar en CSV comprimido con gzip
df.to_csv('people.csv.gz', compression='gzip', index=False)

# Guardar en CSV comprimido con zip
df.to_csv('people.zip', compression='zip', index=False)

Los tipos de compresión admitidos incluyen 'gzip', 'bz2', 'zip', 'xz' y 'zstd'.

Preguntas Frecuentes

Especifica la codificación con el parámetro `encoding`:\n\n```python\ndf.to_csv('data.csv', encoding='utf-16')\n```

Sí, usa `mode='a'` para agregar:\n\n```python\ndf.to_csv('data.csv', mode='a', header=False)\n```\n\nExcluye el encabezado para evitar repetir los nombres de las columnas.

Usa `sep=';'` para el separador de punto y coma y `decimal=','` para la coma decimal:\n\n```python\ndf.to_csv('data.csv', sep=';', decimal=',', index=False)\n```

Conclusión

Con estas opciones, to_csv() de Pandas proporciona una forma flexible de exportar DataFrames a archivos CSV. Al personalizar parámetros como el separador, la codificación y la compresión, puedes generar archivos CSV compatibles con una variedad de aplicaciones y configuraciones regionales.

Listen to your bugs 🧘, with OpenReplay

See how users use your app and resolve issues fast.
Loved by thousands of developers