12k
All articles

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

Exporta un DataFrame de Pandas a CSV con to_csv, cubriendo opciones de separadores, manejo de datos faltantes, tipos de compresión y selección de columnas.

OpenReplay Team
OpenReplay Team
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

¿Cómo guardo un DataFrame en CSV con una codificación diferente?

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

¿Puedo agregar a un archivo CSV existente?

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.

¿Cómo exporto un DataFrame a un archivo CSV con la configuración regional alemana?

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

We use cookies to improve your experience. By using our site, you accept cookies.