- analiticas
- Posts
- Come esportare i dati in Excel con pandas
Come esportare i dati in Excel con pandas
Salva ed esporta le tue analisi con facilità
Hai appena finito di analizzare i tuoi dati con pandas e ora vuoi condividerli con i tuoi colleghi che usano Excel? Niente paura! Esportare un dataframe in un file Excel è un gioco da ragazzi. Vediamo insieme come farlo.
Iniziamo
Per prima cosa, avrai bisogno di importare pandas
(anche se probabilmente lo avrai già fatto per analizzare i tuoi dati):
import pandas as pd
Esportare il dataframe in formato Excel
Immaginiamo che i dati della nostra analisi siano contenuti nel dataframe chiamato df
. Per esportare df
in formato Excel dobbiamo usare il metodo to_excel()
. Ecco come fare:
df.to_excel('file.xlsx')
Ecco fatto! Con questa riga di codice abbiamo creato un file Excel chiamato 'file.xlsx'.
Esportare l’indice
Ogni dataframe ha una colonna che funge da indice. A meno che non si personalizzi questo parametro, la colonna indice viene aggiunta automaticamente al nostro dataframe e riporta il numero delle righe.
Se eseguiamo il codice appena visto, esporteremo anche la colonna indice. Se invece vogliamo eliminarla (per migliorare la leggibilità del file), possiamo usare il parametro index
del metodo to_excel()
. Ecco come fare:
df.to_excel('file.xlsx', index=False)
Scegliere il nome del file
Puoi scegliere qualsiasi nome per il tuo file, ma ricordati di aggiungere l'estensione “.xlsx”.
Aggiungere il percorso al file Excel
Se ci limitiamo ad eseguire il codice appena visto, il file Excel con i valori del nostro dataframe verrà salvato nello stesso posto in cui si trova il file con il codice Python che stai eseguendo.
Se invece vuoi specificare una destinazione diversa in cui salvare il file Excel, ti basterà aggiungere il percorso quando determini il nome del file:
df.to_excel('/path/codice/file.xlsx', index=False)
Se invece vuoi esportare diversi file Excel nella stessa cartella, sarebbe più elegante non ripetere ogni volta il percorso. Per farlo di occorre creare una variabile:
# creiamo una variabile:
dest = '/Users/path/codice/analiticas/'
# esportiamo tre dataframe diversi nella stessa cartella
df1.to_excel(dest+'file1.xlsx')
df2.to_excel(dest+'file2.xlsx')
df3.to_excel(dest+'file3.xlsx')
Attenzione!
Se due o più file hanno lo stesso nome e lo stesso percorso, l’ultimo ad essere esportato sovrascriverà i precedenti.
Opzioni avanzate
Vediamo adesso due opzioni avanzate che possiamo usare quando esportiamo i nostri dati in un file Excel.
Creare un file Excel con più fogli
Se hai diversi dataframe da esportare, anziché farlo separatamente in più file Excel, puoi creare un unico file con più fogli.
In questo esempio immaginiamo di avere due dataframe: df_città
e df_nazioni
. Ecco come far sì finiscano ognuno in nel proprio foglio del file Excel:
with pd.ExcelWriter('file.xlsx') as writer:
df_città.to_excel(writer, sheet_name='città', index=False)
df_nazioni.to_excel(writer, sheet_name='nazioni', index=False)
Formattare le celle
Se vuoi aggiungere un po' di stile al tuo file Excel, puoi usare la libreria XlsxWriter
.
Attenzione!
Per usare XlsxWriter, dovrai installarlo con pip/pip3 o tramite l’editor di Anaconda (se usi Anaconda o Miniconda).
Immaginiamo di avere un dataframe (df
) in cui una colonna contiene dei valori numerici relativi a degli stipendi.
Quando esportiamo i dati in un file Excel, vogliamo applicare a questa colonna il formato di valuta (in Euro) e vogliamo separare sia i numeri decimali che le migliaia. Ecco come fare:
# Creiamo un ExcelWriter object con il motore XlsxWriter
writer = pd.ExcelWriter('file.xlsx', engine='xlsxwriter')
# Esportiamo il dataframe nel file Excel
df.to_excel(writer, sheet_name='Stipendi', index=False)
# Apriamo il foglio del file Excel
worksheet = writer.sheets['Stipendi']
# Aggiungiamo un formato per la valuta
formato_euro = writer.book.add_format({'num_format': '€#,##0.00'})
# Aggiungiamo una variabile per la larghezza della cella
l = 12
# Applichiamo larghezza e formato alla colonna degli stipendi
worksheet.set_column('B:B', l, formato_euro)
# Salviamo il file
writer.close()
Conclusione
L'esportazione in Excel è un ottimo modo per condividere i tuoi dati e le tue analisi con chi non usa Python.
Ricordati sempre di controllare il file Excel dopo l'esportazione per assicurarti che tutto sia come desideri.
Se stai lavorando con grandi quantità di dati, l'esportazione in Excel potrebbe richiedere del tempo. In questi casi, sarebbe meglio esportare in formato CSV, che è più leggero.
Alla prossima micro-lezione 👋