Gli sviluppatori hanno spesso bisogno di esportare un DataFrame Pandas in Excel. Excel è un ottimo strumento per condividere e rivedere report. Python con Pandas rende questo semplice, ma utilizzare Aspose.Cells for Python ti offre maggiore controllo. Puoi convertire un DataFrame in Excel direttamente, tramite CSV, tramite JSON, o persino esportare più DataFrame in un unico file. In questo articolo, imparerai come convertire un DataFrame Pandas in Excel con quattro metodi, passo dopo passo.

Perché utilizzare Aspose.Cells per Pandas in Excel

Pandas ha una funzione incorporata toexcel(). Funziona per esportazioni di base ma è limitata nelle funzionalità. Aspose.Cells for Python è una delle migliori librerie Excel per Python per gli sviluppatori e fornisce un motore Excel completo. Ti permette di salvare i DataFrame in Excel con alta affidabilità. Puoi anche lavorare con grafici, formule, formattazione e file di grandi dimensioni.

Questo articolo ti mostrerà come esportare un DataFrame Pandas in Excel utilizzando Aspose.Cells in modi diversi.

Prima di iniziare, assicurati di avere installato quanto segue:

  1. Scarica Aspose.Cells for Python da releases o installa con pip:
pip install aspose-cells-python
  1. Pandas – installa con pip:
pip install pandas

Queste due librerie ti permetteranno di convertire i DataFrame di Pandas in file Excel.

Metodo 1: Convertire DataFrame in Excel direttamente con Aspose.Cells

Il compito più comune è esportare un DataFrame di Pandas in Excel direttamente. Con Aspose.Cells, puoi creare un workbook, importare i valori del DataFrame e salvarlo come file Excel.

Seguire i passaggi di seguito per convertire DataFrame in Excel:

  1. Build a sample dataset.
  2. Inizializza un’asserzione Excel vuota.
  3. Accedi al primo foglio nella cartella di lavoro.
  4. Inserisci i nomi delle colonne del DataFrame nelle celle di Excel.
  5. Scorri attraverso ogni riga nel DataFrame e inserisci i valori nelle celle.
  6. Esporta il workbook finale in un file Excel.

Il seguente esempio di codice mostra come convertire un Pandas in Excel direttamente:

import aspose.cells as ac
import pandas as pd

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

# Passo 2: Crea un nuovo foglio di lavoro
wb = ac.Workbook()

# Passo 3: Ottieni il primo foglio di lavoro
worksheet = wb.worksheets[0]

# Passo 4: Ottieni la raccolta delle celle
cells = worksheet.cells

# Passo 5: Scrivere i nomi delle colonne del DataFrame in Excel
rowindex = 0
colindex = 0
for column in df:
    cell = cells.get(rowindex, colindex)
    cell.put_value(df[column].name)
    colindex += 1

# Passo 6: Scrivi le righe del DataFrame in 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

# Passo 7: Salva il DataFrame come Excel
wb.save("direct_df_to_excel.xlsx")
Convertire DataFrame in Excel direttamente con Aspose.Cells

Convertire DataFrame in Excel direttamente con Aspose.Cells.

Questo codice salva il DataFrame di Pandas in Excel nella posizione fornita. Puoi cambiare il percorso per adattarlo al tuo sistema.

Questo metodo ti dà il pieno controllo su come i dati del DataFrame di Pandas vengono scritti in Excel. È il modo più diretto per convertire un DF in Excel utilizzando Aspose.Cells.

Metodo 2: Convertire DataFrame in Excel tramite CSV

Un altro modo semplice è salvare il tuo DataFrame di Pandas come file CSV prima, quindi convertire quel file CSV in Excel utilizzando Aspose.Cells. Questo è utile quando il tuo processo genera già un output CSV e hai comunque bisogno di un file Excel pulito.

Si prega di seguire questi passaggi per convertire il DataFrame in Excel tramite CSV:

  1. Build sample data.
  2. Salva il DataFrame come CSV utilizzando il metodo tocsv() di Pandas.
  3. Apri il CSV come cartella di lavoro.
  4. Esporta il workbook in un file .xlsx.

Il seguente esempio di codice mostra come convertire Pandas in Excel tramite CSV:

import aspose.cells as ac
import pandas as pd

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

# Passaggio 2: Salva DataFrame come CSV
df.to_csv("temp.csv", index=False)

# Passaggio 3: Carica il file CSV con Aspose.Cells
wb = ac.Workbook("temp.csv")

# Passo 4: Salva come file Excel
wb.save("df_via_csv.xlsx")

Questo approccio crea prima un file CSV, poi lo converte in Excel. Assicura che la tua conversione da Pandas a Excel funzioni anche se la tua pipeline si basa già su file CSV.

Usa questo metodo quando vuoi passare da CSV a Excel rapidamente mantenendo la flessibilità di Pandas e Aspose.Cells.

Metodo 3: Convertire DataFrame in Excel tramite JSON

Molte API utilizzano JSON. Puoi anche passare JSON ad Aspose.Cells per costruire un foglio Excel. Questo metodo converte un DataFrame Pandas in JSON prima, poi carica quel JSON in Excel come una tabella. Mantiene la tua esportazione da pandas a Excel pulita e affidabile. Aiuta anche quando vuoi un controllo rigoroso su intestazioni e tipi di dati.

Per favore, segui i passaggi qui sotto:

  1. Build sample data for the demo.
  2. Chiama df.tojson(orient='records') per convertire.
  3. Inizializza l’oggetto della classe Workbook() e ottieni il primo foglio di lavoro.
  4. Abilita arrayastable per un’importazione tabellare corretta.
  5. Chiama il metodo JsonUtility.importdata() per importare JSON nelle celle del foglio di lavoro.
  6. Scrivi il file finale in .xlsx.

Il seguente esempio di codice mostra come convertire un DF di Pandas in Excel tramite JSON:

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

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

# Convertire il DataFrame pandas in JSON
json_string = df.to_json(orient='records')

workbook = Workbook()

# Ottieni il primo foglio di lavoro
worksheet = workbook.worksheets[0]

# Get the cells
cells = worksheet.cells

options = JsonLayoutOptions()
unit = JsonUtility()

# Processi come tabella
options.array_as_table = True

# Importa i dati JSON nel foglio di lavoro a partire dalla riga 0, colonna 0
unit.import_data(json_string, cells, 0, 0, options)

# Salva come file Excel
workbook.save("df_via_json.xlsx")

L’ orient='records' produce un elenco di oggetti. Ogni oggetto associa le chiavi ai nomi delle colonne. arrayastable=True dice ad Aspose.Cells di trattare l’array come una tabella vera e propria con intestazioni. L’importatore scrive i valori nelle celle a partire da A1. Questo ti dà un layout prevedibile in Excel.

Metodo 4: Esporta più DataFrame in fogli Excel

Puoi scrivere più di un DataFrame Pandas in un singolo file Excel. Ogni DataFrame va nel proprio foglio. Questo metodo ti offre un’esportazione pulita di pandas su Excel per rapporti e tabelle raggruppate.

Per favore segui il passaggio qui sotto:

  1. Crea una funzione che scrive molti DataFrame su molti fogli.
  2. Inizializza un nuovo workbook.
  3. Aggiungi un foglio per ogni DataFrame e nominarlo come sheetnames.
  4. Metti i nomi delle colonne nella prima riga.
  5. Scorri attraverso le tuple del DataFrame e scrivi i valori delle celle.
  6. Esporta come XLSX con il metodo workbook.save().

Il seguente esempio di codice mostra come esportare più DataFrame Pandas in fogli 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
    """
    # Crea un workbook vuoto
    workbook = Workbook()

    # Facoltativo: rimuovi il foglio vuoto predefinito se non ne hai bisogno
    # workbook.worksheets.removeat(0)

   for df, name in zip(dataframes, sheet_names):
        # Aggiungi un nuovo foglio di lavoro
        worksheet = workbook.worksheets.add(name)
        cells = worksheet.cells

        # Scrivi intestazioni di colonna
       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)

    # Salva come file Excel
    workbook.save(output_path, SaveFormat.XLSX)

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

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

# Scrivere su Excel
write_multiple_dataframes_to_excel(
    dataframes=[df1, df2],
    sheet_names=["People", "Products"],
    output_path="MultiDataFrame.xlsx"
)
Esportare più DataFrame Pandas in fogli Excel con Aspose.Cells

Esportare più DataFrame Pandas in fogli Excel con Aspose.Cells.

La funzione associa ogni DataFrame con un nome di foglio. Scrive le intestazioni nella riga 0 e i dati dalla riga 1. Aspose.Cells scrive i valori nelle celle con tipizzazione forte. Il file XLSX finale mantiene le tue tabelle chiare e pronte per essere condivise.

Ottieni una Licenza Gratuita

Valuta Aspose.Cells for Python tramite .NET senza limiti. Richiedi una licenza temporanea gratuita dalla license page.Applicala nel tuo codice per rimuovere le restrizioni di valutazione. Testa ogni funzionalità, inclusi DF in Excel, grafici, formule e file di grandi dimensioni.

PD to Excel: Risorse gratuite

Per favore, utilizza queste risorse per ampliare le tue conoscenze e migliorare la tua comprensione.

Conclusione

Hai imparato diversi modi per esportare un DataFrame di Pandas in Excel con Aspose.Cells for Python. Puoi salvare un DataFrame direttamente, usare CSV, usare JSON, o scrivere più DataFrame in un unico file. Ciascun metodo è semplice, veloce e affidabile. Se stai cercando funzionalità avanzate di Excel oltre a Pandas, Aspose.Cells è la scelta giusta. Provalo nel tuo prossimo progetto e passa da Pandas a Excel con pieno controllo.

Se hai domande, visita il nostro free support forum.Saremo felici di assisterti.

Vedi anche