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 esTrue
.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.