Los desarrolladores a menudo necesitan exportar un DataFrame de Pandas a Excel. Excel es una herramienta excelente para compartir y revisar informes. Python con Pandas hace esto simple, pero usar Aspose.Cells for Python te brinda más control. Puedes convertir un DataFrame a Excel directamente, a través de CSV, mediante JSON, o incluso exportar múltiples DataFrames en un solo archivo. En este artículo, aprenderás cómo convertir un dataframe de Pandas a Excel con cuatro métodos paso a paso.

Por qué usar Aspose.Cells para Pandas a Excel

Pandas tiene una función incorporada toexcel(). Funciona para exportaciones básicas, pero es limitada en características. Aspose.Cells for Python es una de las mejores bibliotecas de Excel para Python para desarrolladores que proporciona un motor de Excel completo. Te permite guardar DataFrames en Excel con alta fiabilidad. También puedes trabajar con gráficos, fórmulas, formato y archivos grandes.

Este artículo te mostrará cómo exportar un DataFrame de Pandas a Excel utilizando Aspose.Cells de diferentes maneras.

Antes de comenzar, asegúrate de tener lo siguiente instalado:

  1. Descargar Aspose.Cells for Python desde lanzamientos o instalar con pip:
pip install aspose-cells-python
  1. Pandas – instalar con pip:
pip install pandas

Estas dos bibliotecas te permitirán convertir DataFrames de Pandas en archivos de Excel.

Método 1: Convertir DataFrame a Excel directamente con Aspose.Cells

La tarea más común es exportar un DataFrame de Pandas a Excel directamente. Con Aspose.Cells, puedes crear un libro de trabajo, importar los valores del DataFrame y guardarlo como un archivo de Excel.

Siga los pasos a continuación para convertir un DataFrame a Excel:

  1. Construir un conjunto de datos de muestra.
  2. Inicializa un libro de Excel vacío.
  3. Accede a la primera hoja en el libro.
  4. Insertar nombres de columnas de DataFrame en celdas de Excel.
  5. Recorra cada fila en el DataFrame y coloque valores en las celdas.
  6. Exporta el libro de trabajo final a un archivo de Excel.

El siguiente ejemplo de código muestra cómo convertir un Pandas a Excel directamente:

import aspose.cells as ac
import pandas as pd

# Paso 1: Crear un DataFrame de muestra
data = {
    'name': ['Alice', 'Bob', 'Charlie', 'David'],
    'age': [25, 32, 18, 47],
    'city': ['New York', 'Paris', 'London', 'Berlin']
}
df = pd.DataFrame(data)

# Paso 2: Crea un nuevo libro de trabajo
wb = ac.Workbook()

# Paso 3: Obtén la primera hoja de trabajo
worksheet = wb.worksheets[0]

# Paso 4: Obtén la colección de celdas
cells = worksheet.cells

# Paso 5: Escribir los nombres de las columnas del DataFrame en Excel
rowindex = 0
colindex = 0
for column in df:
    cell = cells.get(rowindex, colindex)
    cell.put_value(df[column].name)
    colindex += 1

# Paso 6: Escribir filas del DataFrame en Excel
for index, row in df.iterrows():
    rowindex += 1
    colindex = 0
    cell = cells.get(rowindex, colindex)
    cell.put_value(row["name"])
    colindex += 1
    cell = cells.get(rowindex, colindex)
    cell.put_value(row["age"])
    colindex += 1
    cell = cells.get(rowindex, colindex)
    cell.put_value(row["city"])
    colindex += 1

# Paso 7: Guarda el DataFrame como Excel
wb.save("direct_df_to_excel.xlsx")
Convertir DataFrame a Excel directamente con Aspose.Cells

Convertir DataFrame a Excel Directamente con Aspose.Cells.

Este código guarda el DataFrame de Pandas en Excel en la ubicación dada. Puedes cambiar la ruta para que coincida con tu sistema.

Este método te da el control total sobre cómo se escriben los datos del DataFrame de Pandas en Excel. Es la forma más directa de convertir un DF a Excel utilizando Aspose.Cells.

Método 2: Convertir DataFrame a Excel a través de CSV

Otra forma sencilla es guardar su DataFrame de Pandas como CSV primero, luego convertir ese archivo CSV en Excel utilizando Aspose.Cells. Esto es útil cuando su proceso ya genera una salida CSV y aún necesita un archivo Excel limpio.

Por favor, sigue estos pasos para convertir DataFrame a Excel a través de CSV:

  1. Build sample data.
  2. Guardar DataFrame como CSV utilizando el método tocsv() de Pandas.
  3. Abre el CSV como un libro de trabajo.
  4. Exporta el libro de trabajo a un archivo .xlsx.

El siguiente ejemplo de código muestra cómo convertir Pandas a Excel a través de CSV:

import aspose.cells as ac
import pandas as pd

# Paso 1: Crear un DataFrame de muestra
data = {
    'name': ['Alice', 'Bob', 'Charlie', 'David'],
    'age': [25, 32, 18, 47],
    'city': ['New York', 'Paris', 'London', 'Berlin']
}
df = pd.DataFrame(data)

# Paso 2: Guardar DataFrame como CSV
df.to_csv("temp.csv", index=False)

# Paso 3: Cargar archivo CSV con Aspose.Cells
wb = ac.Workbook("temp.csv")

# Paso 4: Guardar como archivo de Excel
wb.save("df_via_csv.xlsx")

Este enfoque primero crea un archivo CSV, luego lo convierte en Excel. Asegura que la conversión de Pandas a Excel funcione incluso si su flujo de trabajo ya depende de archivos CSV.

Utilice este método cuando desee pasar de CSV a Excel rápidamente, manteniendo la flexibilidad de Pandas y Aspose.Cells.

Método 3: Convertir DataFrame a Excel a través de JSON

Muchas API utilizan JSON. También puedes pasar JSON a Aspose.Cells para construir una hoja de Excel. Este método convierte primero un DataFrame de Pandas a JSON, luego carga ese JSON en Excel como una tabla. Mantiene tu exportación de pandas a Excel limpia y confiable. También ayuda cuando deseas un control estricto sobre los encabezados y los tipos de datos.

Por favor, siga los pasos a continuación:

  1. Construya datos de muestra para la demostración.
  2. Llama a df.tojson(orient='records') para convertir.
  3. Inicializa el objeto de la clase Workbook() y obtén la primera hoja de cálculo.
  4. Habilitar arrayastable para una importación tabular adecuada.
  5. Llama al método JsonUtility.importdata() para importar JSON en las celdas de la hoja de cálculo.
  6. Escribe el archivo final en el .xlsx.

El siguiente ejemplo de código muestra cómo convertir un DF de Pandas a Excel a través de JSON:

import pandas as pd
from aspose.cells.utility import JsonUtility, JsonLayoutOptions
from aspose.cells import Workbook, Worksheet, Cells

# Cree un DataFrame de muestra de pandas
data = {'Name': ['Alice', 'Bob', 'Charlie'],
        'Age': [25, 30, 35],
        'City': ['New York', 'San Francisco', 'Los Angeles']}
        	
df = pd.DataFrame(data)

# Convertir DataFrame de pandas a JSON
json_string = df.to_json(orient='records')

workbook = Workbook()

# Obtén la primera hoja de trabajo
worksheet = workbook.worksheets[0]

# Obtén las celdas
cells = worksheet.cells

options = JsonLayoutOptions()
unit = JsonUtility()

# Procesos como tabla
options.array_as_table = True

# Importar datos JSON en la hoja de cálculo comenzando en la fila 0, columna 0
unit.import_data(json_string, cells, 0, 0, options)

# Guardar como archivo de Excel
workbook.save("df_via_json.xlsx")

El orient='records' produce una lista de objetos. Cada objeto mapea claves a nombres de columnas. arrayastable=True le dice a Aspose.Cells que trate el array como una tabla adecuada con encabezados. El importador escribe valores en las celdas comenzando desde A1. Esto te brinda un diseño predecible en Excel.

Método 4: Exportar múltiples DataFrames a hojas de Excel

Puedes escribir más de un DataFrame de Pandas en un solo archivo de Excel. Cada DataFrame va a su propia hoja. Este método te proporciona una exportación limpia de pandas a Excel para informes y tablas agrupadas.

Por favor, siga el paso a continuación:

  1. Crea una función que escriba muchos DataFrames en muchas hojas.
  2. Inicializa un nuevo libro de trabajo.
  3. Agrega una hoja para cada DataFrame y nómbrala a partir de sheetnames.
  4. Coloque los nombres de las columnas en la primera fila.
  5. Recorrer tuplas del DataFrame y escribir valores de celda.
  6. Exportar como XLSX con el método workbook.save().

El siguiente ejemplo de código muestra cómo exportar múltiples DataFrames de Pandas a hojas de Excel:

import pandas as pd
from aspose.cells import Workbook, WorksheetCollection, SaveFormat

def write_multiple_dataframes_to_excel(dataframes, sheet_names, output_path):
    """
    Write multiple DataFrames to multiple sheets in an Excel file
    :param dataframes: List of pandas.DataFrame
    :param sheet_names: List of sheet names (same length as dataframes)
    :param output_path: Output Excel file path
    """
    # Crear un libro de trabajo en blanco
    workbook = Workbook()

    # Opcional: elimina la hoja en blanco predeterminada si no la necesitas.
    # workbook.worksheets.removeat(0)

   for df, name in zip(dataframes, sheet_names):
        # Añadir una nueva hoja de cálculo
        worksheet = workbook.worksheets.add(name)
        cells = worksheet.cells

        # Escribe encabezados de columna
       for col_idx, col_name in enumerate(df.columns):
            cells.get(0, col_idx).put_value(str(col_name))

        # Write row data
       for row_idx, row in enumerate(df.itertuples(index=False), start=1):
           for col_idx, value in enumerate(row):
                cells.get(row_idx, col_idx).put_value(value)

    # Guardar como archivo de Excel
    workbook.save(output_path, SaveFormat.XLSX)

# Crear dos DataFrames
df1 = pd.DataFrame({
    "Name": ["Alice", "Bob"],
    "Age": [25, 30]
})

df2 = pd.DataFrame({
    "Product": ["Book", "Pen"],
    "Price": [10.5, 1.99]
})

# Escribe en Excel
write_multiple_dataframes_to_excel(
    dataframes=[df1, df2],
    sheet_names=["People", "Products"],
    output_path="MultiDataFrame.xlsx"
)
Exportar múltiples DataFrames de Pandas a hojas de Excel con Aspose.Cells

Exportar múltiples DataFrames de Pandas a hojas de Excel con Aspose.Cells.

La función empareja cada DataFrame con un nombre de hoja. Escribe encabezados en la fila 0 y datos desde la fila 1. Aspose.Cells escribe valores en las celdas con un fuerte tipado. El archivo XLSX final mantiene tus tablas claras y listas para compartir.

Obtén una licencia gratuita

Evalúa Aspose.Cells for Python a través de .NET sin límites. Solicita una licencia temporal gratuita desde la license page.Aplícala en tu código para eliminar las restricciones de evaluación. Prueba cada función, incluidos DF a Excel, gráficos, fórmulas y archivos grandes.

PD a Excel: Recursos gratuitos

Por favor, utiliza estos recursos para mejorar tu conocimiento y aumentar tu comprensión.

Conclusión

Has aprendido varias maneras de exportar un DataFrame de Pandas a Excel con Aspose.Cells for Python. Puedes guardar un DataFrame directamente, usar CSV, usar JSON, o escribir múltiples DataFrames en un solo archivo. Cada método es simple, rápido y confiable. Si estás buscando características avanzadas de Excel más allá de Pandas, Aspose.Cells es la opción correcta. Prueba en tu próximo proyecto y pasa de Pandas a Excel con control total.

Si tiene alguna pregunta, visite nuestro foro de soporte gratuito.Estaremos encantados de ayudarle.

Ver también