Python – Crear un archivo de Excel con pandas

Para crear un archivo de Excel usaremos pandas.  Que es una versátil librería open source con muchas herramientas de análisis de datos que entre otras cosas te permite crear archivos de Excel.

import pandas as pd
from pandas import ExcelWriter

df = pd.DataFrame({'Id': [1, 3, 2, 4],
                   'Nombre': ['Juan', 'Eva', 'María', 'Pablo'],
                   'Apellido': ['Méndez', 'López', 'Tito', 'Hernández']})
df = df[['Id', 'Nombre', 'Apellido']]

writer = ExcelWriter('/ruta/ejemplo.xlsx')
df.to_excel(writer, 'Hoja de datos', index=False)
writer.save()




Este ejemplo es muy sencillo. Primero que nada importamos pd y ExcelWriter.

En este fragmento de código corto, ‘Id’, ‘Nombre’ y ‘Apellido’ son los nombres de las columnas de nuestra hoja de cálculo, seguidas cada una de su lista de datos.  Con esta estructura creamos nuestro DataFrame.

df = pd.DataFrame({'Id': [1, 3, 2, 4],
                   'Nombre': ['Juan', 'Eva', 'María', 'Pablo'],
                   'Apellido': ['Méndez', 'López', 'Tito', 'Hernández']})

La siguiente línea de código nos permite obtener esa misma estructura de datos, pero con las columnas en un orden específico.  Si no hacemos esto el documento se creará ordenando las columnas alfabéticamente.  Puedes probar crear el archivo de excel sin hacerlo así para ver el resultado.

df = df[['Id', 'Nombre', 'Apellido']]

Finalmente creamos el archivo:

writer = ExcelWriter('/ruta/ejemplo.xlsx')
df.to_excel(writer, 'Hoja de datos', index=False)
writer.save()

El argumento index=False, evita que se agregue una columna adicional con la enumeración de cada fila.

El archivo resultante debe ser algo como esto:

Y eso es todo, como siempre con Python sencillo y se requiere muy poco código, esperamos que este pequeño ejemplo te sirva.