Vai al contenuto

Come utilizzare Python in Excel

    SCATTER_MATRIX_PYTHON_EXCEL_MARCOFILOCAMO
    Tag:

    L'arrivo di Python in Excel promette di rivoluzionare il modo di lavorare con i dati. In questa guida vediamo come funziona Python in Excel e le sue caratteristiche principali.

    SCATTERMATRIX_EXCEL_MARCOFILOCAMO

    Rispetto ad altre innovazioni di Excel, la possibilità di utilizzare Python pare modificare le fondamenta di Excel, dato che avremo la possibilità di calcolare in maniera alternativa numerose statistiche che prima erano molto complesse da realizzare. Per chi abbia dimestichezza con Python, l'arrivo in Excel rappresenta un approccio innovativo nell'uso di Python in ambito aziendale - mentre per chi abbia l'abitudine a lavorare con Excel, Python offre dei nuovi scenari per l'analisi, impensabili fino a poco tempo fa.

    Vediamo però nello specifico di che cosa parliamo, dato che è un tema molto tecnico e sul quale bisogna fare chiarezza prima di far confusione. Microsoft stessa ha messo a disposizione numerosi tutorial per aiutare chi sia alle prime armi proprio con Python, che utilizzeremo in parte in questa guida.

    Che cos'è Python

    LOGO_PYTHON_IN_EXCEL_MARCOFILOCAMO

    Python è un linguaggio di programmazione molto versatile utilizzato per l’analisi dei dati, lo sviluppo web, lo sviluppo software l’intelligenza artificiale e molto altro. L’idea del suo ideatore Guido Von Rossum era quella di creare un linguaggio di programmazione che rendesse la scrittura del codice semplice e accessibile a tutti. Per questo Python è molto facile da scrivere e risulta facile da imparare per i principianti nonostante si tratti di un linguaggio molto potente.

    POPOLARE_PYTHON_IN_EXCEL_MARCOFILOCAMO

    L'entusiasmo attorno a questo linguaggio, testimoniato da vari indicatori fra i quali un solido primo posto nel PYPL (PopularitY of Programming Language), che indica quanto siano ricercati i tutorial relativi a Python online, ha consentito la nascita di una grande community che ha contribuito alla creazione di una vasta raccolta di librerie tra cui le più conosciute sono sicuramente Pandas per l’analisi dei dati, NumPy per la matematica e TensorFlow per il machine learning.

    L'arrivo di Python in Excel determina un cambio di paradigma, permettendo per la prima volta una vera alternativa nativa alla scrittura di formule in Excel. Per molto tempo si è pensato che Python potesse sopperire all'interesse (in fase calante) per VBA, adesso Python risulta integrato in Excel e ha un ruolo diverso - non soppiantare la parte di automazione, ma affiancare le modalità esistenti di analisi aggiungendo ulteriori opzioni per un'utenza già piuttosto pratica di dati e relative analisi.

    Che cos'è Python in Excel

    PYTHON_IN_EXCEL_MARCOFILOCAMO_SEZIONE_DEDICATA_FORMULE

    Python in Excel è un componente di recente sviluppo messo a disposizione da Microsoft e Anaconda per permettere di utilizzare le funzioni tipiche di Python nell'ambiente di Excel. L'integrazione di questi due strumenti è molto promettente perché unisce la potenza e la flessibilità tipiche dei linguaggi di programmazione come Python, all'immediatezza di uno strumento come Excel. L'obiettivo è quello di mettere a disposizione degli analisti di dati uno strumento nuovo e più adatto all'analisi dei dati.

    Quante volte ti è capitato di pensare che poche righe di codice avrebbero semplificato il lavoro con Excel? Finalmente possiamo sfruttare la potenza di Python direttamente all’interno di Microsoft Excel, accedendo direttamente dal menu Formule > Python.

    Nella sezione Python troverai quattro diverse opzioni:

    • Inserisci Python: per inserire il codice
    • Reimposta: per far partire nuovamente il codice, se necessario
    • Diagnostica: per indicare gli errori nei singoli script Python
    • Inizializzazione: per segnalare quali siano le librerie già installate sul file di lavoro

    Come noti, ci sono dei termini da chiarire prima di poter procedere nell'utilizzo di Python in Excel.

    Qual è la terminologia di Python in Excel

    Python in Excel ha alcuni termini specifici che impareremo a conoscere, ma vediamo i principali:

    • Script è il codice scritto in Python o in qualunque linguaggio di programmazione. Se parliamo di script, questo sarà la "formula" che stiamo utilizzando in Excel, che va inserita con CTRL+INVIO, differentemente da quanto facciamo con le formule
    • Libreria è sostanzialmente un file che contiene delle funzioni particolari scritte da qualcuno. Per utilizzare queste funzioni bisogna prima di tutto importare la libreria e solo allora si potranno utilizzare le funzioni contenute al suo interno. In breve, possiamo paragonare una libreria all'installazione di un add-in nuovo che ha dei comandi particolari. Di default, Python in Excel ha comunque già numerose librerie pre-installate
    • Dataframe è una tabella con un'intestazione e un numero di righe chiamato Index. Quando lavoriamo con Python, lavoriamo principalmente con dataframe
    • Plot è un grafico, che su Python può essere generato con librerie come Seaborn, Matplotlib e altre ancora

    Questi termini sono importanti per chiarire meglio come poi vengano create le singole analisi dei dati e li ritroveremo spesso, lavorando con Python. Al momento, almeno per chi ha usato esclusivamente Excel, possono aggiungere un ulteriore livello di complessità ma basta prenderci la mano per poi comprendere meglio come sfruttarli.

    Quali sono i requisiti per utilizzare Python in Excel

    Python in Excel non è disponibile per tutti gli utenti Excel e richiede alcune specifiche prima di essere utilizzato:

    • Per poter utilizzare Python in Excel, bisogna avere Windows con Office 365, sul quale Microsoft mette a disposizione gratuitamente il nuovo componente, senza dover installare o configurare componenti aggiuntivi
    • Oltre alla licenza di Office 365, dovrai avere sempre una connessione internet, dato che non funziona su locale
    • Python in Excel, almeno per il momento, non è disponibile su Excel Web, dispositivi Apple o Android. Quindi qualsiasi combinazione che non sia Windows + Excel 365 + connessione internet, è al momento esclusa dal poter utilizzare Python in Excel

    La mancata compatibilità con l'online pone forse il problema più rilevante, dato che ciò significa che non potremo utilizzare analisi effettuate in Python se apriamo il file in Excel online.

    ERRORE_ONLINE_PYTHON_IN_EXCEL_MARCOFILOCAMO

    Se proviamo a farlo, avremo una schermata come questa che evidenzia come Python non sia supportato. I casi tipici di uso di Excel online sono ad esempio la revisione di alcune informazioni spot da parte di executive / C-level aziendali fatti a partire da Excel creati in ambiente desktop da altri professionisti, quindi attenzione. In questo caso, diversamente da quanto accade con i file Excel standard, le persone di riferimento non potrebbero modificare in alcun modo i calcoli inseriti a sistema.

    PRICING_PYTHON_IN_EXCEL_MARCOFILOCAMO

    Di base, Python in Excel è gratuito ma esistono anche due versioni a pagamento:

    • Python in Excel Premium, a pagamento mensile (24$ al mese per utenza)
    • Python in Excel Premium, a pagamento annuale (240$ all'anno per utenza)

    La versione Premium ha due vantaggi principali: permette di utilizzare Python anche se sul file è impostato il calcolo manuale o parziale e, usando questa versione, viene garantita una velocità di calcolo maggiore. Questo aspetto potrebbe diventare rilevante perchè, dovendo Python agire con una connessione Internet, la velocità di calcolo risente sicuramente rispetto a un'installazione di Python su locale. Su file molto grandi, il calcolo automatico difficilmente è attivo e quindi Python non potrebbe essere sfruttato, portando a una preferenza per l'add-on a pagamento.

    Non è ancora chiaro quanto la versione a pagamento sarà utilizzata dalle aziende, ma appare evidente come la versione free sia già piuttosto robusta per utilizzi mediamente complessi.

    Qual è la sicurezza dei dati utilizzando Python in Excel

    Il tema della sicurezza dei dati con Python in Excel è molto tecnico e fondamentale se parliamo di utilizzare Python in un contesto aziendale. Microsoft ha chiarito come funzioni il flusso di dati e informazioni in una guida dedicata, ma riassumiamo i punti principali qui.

    Lo script creato con Python in Excel viene inviato alle macchine di Microsoft Cloud che elaborano il calcolo e restituiscono il risultato al file Excel. Non abbiamo una vera istanza di Python su locale, ma il processo è più articolato:

    • Apriamo il file Excel e creiamo lo script Python
    • Lo facciamo partire
    • Lo script viene inviato al cloud
    • Nel cloud, vengono eseguite le operazioni che desideriamo
    • L'output viene inviato nuovamente al nostro file Excel di partenza, ora arricchito dalle nostre analisi

    Per essere precisi, il codice Python viene eseguito in contenitori isolati hypervisor (creati su istanze Azure Container), che sono contenitori che dispongono già di Python e delle principali librerie a esso collegate. Questo meccanismo, all'apparenza complesso, spiega perché non sia necessaria alcuna installazione di Python in locale.

    Gli aggiornamenti relativi a Python in Excel, relativi sia all'ambiente di lavoro sia alla sicurezza, sono gestiti da Anaconda, che è una distribuzione open-source di Python. In pratica, questo permette di semplificare notevolmente il setup di Python, dato che avremo già numerose librerie a nostra disposizione senza dover far passaggi fuori dal nostro ambiente Office.

    L'innegabile comodità di utilizzo lascia però spazio a una serie di implicazioni, da tenere a mente per valutare al meglio se iniziare a utilizzare Python in Excel in maniera massiva, soprattutto pensando al fatto che i dati, anche se momentaneamente, vengono inviati a un cloud esterno.

    Innanzitutto, come abbiamo detto, per utilizzare Python in Excel bisogna essere collegati a Internet. Qualunque operazione eseguita offline in locale non funzionerà e, probabilmente, ci servirà anche una buona connessione per evitare problemi in questo trasferimento dei dati da file Excel > cloud > file Excel. Qui la domanda è spontanea - parliamo di script e dati che vengono inviati al cloud. Possiamo considerare questa operazione come sicura, soprattutto parlando di un ambito aziendale?

    Di default, Python non ha un token utente ma, per aumentare il livello di sicurezza, Microsoft per il momento ha deciso di inibire alcune funzioni, specialmente quelle che riguardano l’accesso alla rete ai dispositivi e ad altri account. Inoltre, i dati elaborati non vengono mantenuti in Microsoft Cloud ma vengono cancellati quando il file viene chiuso e termina la sessione di calcolo. In definitiva, l'utilizzo di Python può considerarsi sicuro perché l'elaborazione dei dati è blindata all'interno di uno spazio privato e temporaneo.

    Come importare i dati per utilizzarli con Python in Excel

    Come abbiamo detto, le funzioni Python che normalmente consentono l'import dei dati sono inibite per ragioni di sicurezza. Il flusso per lavorare con Python in Excel sarà quindi questo, almeno nei casi tipici di utilizzo:

    • Dati già presenti sul file > analisi Python in Excel
    • Dati esterni al file recuperati tramite Power Query > analisi Python in Excel
    PYTHON_IN_EXCELL_MARCOFILOCAMO_SOLO_CONNESSIONE

    Un elemento di particolare interesse è il fatto che Python può lavorare con Power Query non solo con i dati caricati sul file, ma anche se i dati sono stati importati solo come connessione. Questo apre nuovi scenari per file di grandi dimensioni, dove potrebbe non essere possibile importare direttamente un intero database per questioni di velocità dei calcoli successivi.

    Se vuoi scaricare il database che sarà utilizzato nel resto della guida, clicca qui!

    Come creare la tua prima formula con Python in Excel

    PYTHON_IN_EXCEL_MARCOFILOCAMO_SEZIONE_DEDICATA_FORMULE

    Per cominciare a conoscere Python in Excel, la cosa migliore da fare è mettersi all’opera. Come abbiamo detto, lo script Python può essere inserito dalla scheda Formule dove si può trovare una sezione dedicata a Python. In particolare, premendo sul tasto blu con il simbolo di Python (Inserisci Python) possiamo cominciare a scrivere codice.
    Un risultato del tutto equivalente (e forse più comodo) si ottiene digitando in una cella:

    PYTHON_IN_EXCELL_MARCOFILOCAMO_INSERIRE_FORMULA

    =PY(

    Le alternative sono due: o clicchi direttamente =PY( oppure clicchi su =PY e clicchi poi su Tab.

    PYTHON_IN_EXCELL_MARCOFILOCAMO_SITUAZIONE_INIZIALE

    A questo punto vedrai che sia la barra della formula sia la cella riportano l’etichetta PY. Per eseguire lo script, a differenza delle formule che richiedono solo INVIO, bisogna premere CTRL + INVIO.

    PYTHON_IN_EXCELL_MARCOFILOCAMO_CALCOLO_SEMPLICE

    Come primissimo esperimento potremmo eseguire la somma di due numeri.

    =PY(5+8) CTRL + INVIO

    PYTHON_IN_EXCELL_MARCOFILOCAMO_OUTPUT_CALCOLO_SEMPLICE

    A questo punto possiamo vedere come il risultato finale sia 13, come ci aspettiamo.

    Abbiamo utilizzato Python come una calcolatrice, inserendo due numeri e restituendone la somma. Se hai provato a farlo, avrai notato com'è strano scrivere =PY per poi avere CTRL+INVIO alla fine, ma credo sia solo una questione di abitudine.

    PYTHON_IN_EXCELL_MARCOFILOCAMO_SCELTA_OUTPUT

    Rispetto alle formule tipiche di Excel, vedrai che puoi restituire l'output sia come Oggetto Python sia come Valore di Excel. In questo caso non è una differenza rilevante, ma vedremo più avanti nella guida perchè sia un aspetto da tenere a mente.

    PYTHON_IN_EXCELL_MARCOFILOCAMO_SOMMA_CELLE

    Facciamo un altro esperimento. Inseriamo i valori che vogliamo sommare in due celle, C3 e C4. In questo caso puoi sempre scrivere =PY e seguire il procedimento precedente - noterai che, se clicchi all'interno delle celle, il codice risultante sarà simile a questo:

    xl("C3")+xl("C4")

    PYTHON_IN_EXCELL_MARCOFILOCAMO_SOMMA_CELLE_FINALE

    Il risultato, chiaramente, sarà pari a 120.

    Come si può vedere dalla barra della formula, Python in Excel usa la dicitura xl() per identificare gli oggetti Excel come le celle. Andando più nello specifico, xl() accetta celle, range, tabelle, query e nomi definiti. Questo è un tema fondamentale per capire come funzioni Python, dato che dovremo sempre utilizzare xl() per spiegare a Python che tipo di elementi ci interessano, di quelli presenti sul nostro file. Rispetto a fare un semplice =C3+C4, questo metodo pare molto più laborioso, almeno per calcoli semplici.

    Vediamo però la logica più nel dettaglio con qualche esempio pratico:

    • xl("C3"): il valore della cella C3
    • xl("A1:B3"): l'intervallo che va da A1 a B3
    • xl("TBL_VENDITE[#Tutti]", headers=True): la tabella TBL_VENDITE, incluse le intestazioni

    Espandendo la barra della formula (shortcut: CTRL+MAIUSC+U) si può utilizzare la barra come editor, per visualizzare meglio i singoli passaggi. Relativamente al funzionamento di Python in Excel, è importante fare una precisazione: esiste un ordine di esecuzione del codice da sinistra a destra e dall'alto verso il basso e un foglio dopo l'altro. Questo può sembrare banale, ma non lo è perché se una variabile venisse definita nel punto sbagliato potrebbe non essere riconosciuta. In Excel, questo concetto non è sempre applicato, dato che potremmo tranquillamente avere dei dati di partenza sulla destra e la parte finale di analisi sulla sinistra.

    Come modificare l'output di Python in Excel

    Notiamo che sulla sinistra della cella dove viene restituito l’output, c’è un simbolo con delle parentesi quadre. Questo è il simbolo dell’oggetto Python, indicando che l’output generato ha un formato tipico del linguaggio Python. Per fortuna, è possibile cambiare questo formato.

    PYTHON_IN_EXCELL_MARCOFILOCAMO_LISTA_PYTHON

    Per esempio potremmo scrivere:

    =PY( [1,2,3,4,5]

    Quello che abbiamo creato è conosciuto nel mondo della programmazione come array o vettore e nello specifico linguaggio di Python come lista. Si tratta semplicemente di un oggetto che al suo interno può contenere tanti oggetti. Vediamo che l'oggetto creato sta tutto in una cella dove compare la scritta list. Di fianco all’etichetta PY sulla barra della formula è possibile trovare un simbolo dell'oggetto Python con una freccina.
    Premendo su questa icona verrà visualizzato un menu a tendina in cui è possibile scegliere tra due opzioni: Oggetto Python e Valore di Excel.

    PYTHON_IN_EXCELL_MARCOFILOCAMO_LISTA_EXCEL

    Se scegliamo di visualizzare l'output come Valore di Excel la lista si apre e ci mostra tutti i valori contenuti al suo interno. La scelta di questo formato dipende molto dall'utilizzo che verrà fatto di questo oggetto. Nel caso in cui debbano essere fatte altre operazioni in Python è consigliabile lasciare come formato Oggetto Python, mentre nel caso in cui si vogliano eseguire delle operazioni in Excel è meglio selezionare Valore di Excel.

    Vediamo qualche altro esempio con una tabella di dati che utilizzeremo per fare alcune statistiche descrittive.

    Qual è il nostro database di partenza per lavorare con Python in Excel

    SQUALI_DB_EXCEL_MARCOFILOCAMO

    Per realizzare questa guida focalizzata su come si usa Python in Excel abbiamo realizzato un database analogo a quello messo a disposizione da Microsoft (con le diverse specie di pinguini) inserendo, però, gli squali. La nostra tabella si chiama TBL_SQUALI e offre alcune informazioni su singoli squali, quali:

    • Specie: una specie di squalo (Martello, Bianco, Toro, Tigre)
    • Peso: un valore di peso per ciascuno squalo
    • Pinna dorsale, Pinna ventrale, Pinna caudale: un valore, in centimetri, per ognuna delle pinne

    Abbiamo quindi 40 squali da analizzare e vogliamo farlo con Python. Vediamo come possiamo fare qualche statistica veloce.

    Come fare analisi con Python in Excel

    Python in Excel nasce soprattutto per dare la possibilità di eseguire analisi di dati, per questo l'oggetto Python più importante è sicuramente il dataframe. È possibile creare un dataframe a partire da una qualunque matrice Excel (per esempio un range di celle) con il comando sotto riportato:

    dataframe = xl("range", headers=True)

    Stiamo dichiarando che vogliamo un dataframe che arriva da un intervallo chiamato range (che può essere una query di Power Query, una tabella di Excel o una combinazione di celle). Andando più nel dettaglio, headers =True significa che il dataframe dovrà riconoscere la prima riga della matrice come riga di intestazione.

    Facendo qualche esempio più specifico:

    dataframe_agenti = xl("TBL_AGENTI[#Tutti]", headers=True)

    Questo dataframe verrebbe creato dall'intervallo delimitato da TBL_AGENTI, che potrebbe essere una tabella Excel con i dati dei nostri agenti di vendita, una query su Power Query o anche solo un nome definito applicato a varie celle specifiche.

    dataframe_vendite = xl("A1:C3000", headers=True)

    Questo dataframe prenderebbe invece le celle da A1 a C3000, indicando anche che abbiamo delle intestazioni.

    In tutti questi casi, lo stesso risultato può essere restituito, come dicevamo, sia come oggetto Python sia come valore di Excel, a seconda delle nostre necessità.

    ANTEPRIMA_DATAFRAME_PYTHON_IN_EXCEL_MARCOFILOCAMO

    Vediamo come funzionerebbe con il nostro database, chiamato TBL_SQUALI:

    dataframe_squali = xl("TBL_SQUALI[#Tutti]", headers=True)

    In questo caso per esempio abbiamo importato tutta la tabella, quindi invece di specificare i nomi dei campi abbiamo scritto #Tutti. Questo ci aiuta anche a navigare sul file, perchè abbiamo le nostre intestazioni anche nel DataFrame collegato.

    A questo punto abbiamo dichiarato, nella cella A1, che il nostro DataFrame si chiama dataframe_squali e possiamo riutilizzare questa dicitura anche successivamente.

    DESCRIZIONE_EXCEL_MARCOFILOCAMO

    Un esempio delle potenzialità di Python è la funzione describe() che produce una tabella con una sintesi delle informazioni principali del dataframe. In particolare, c'è un conteggio delle righe totali, la media, la deviazione standard, il minimo, i percentili principali e il massimo per ciascuna delle categorie. Tutta questa tabella viene creata con una semplice formula:

    dataframe_squali.describe()

    Chiaramente esistono calcoli molto più complessi di questo, ma già riassumere con una sola stringa tutte queste informazioni è molto utile per avere statistiche descrittive velocemente sui nostri file.

    Quali sono gli errori di Python in Excel

    Come dicevamo, esiste una funzione di Diagnostica che consente di analizzare gli errori in Python in Excel. Vediamoli insieme:

    • #PYTHON: è un errore di sintassi dello script Python
    • #BLOCCATA: sono bloccate le funzioni Python. Verificare di avere accesso ai servizi Office 365 e di stare accedendo da Windows, altrimenti apparirà questo errore (ad esempio nella versione online)
    • #BUSY: non è un errore. Indica che è occupato, nel senso che sta elaborando il codice in Cloud. Se si sforano i 60sec si può abilitare l'add-in Premium per fare calcoli più velocemente
    • #CALC: Python non accetta riferimenti con valori volatili (tipo CASUALE); inoltre si possono elaborare al max 100MB
    • #CONNETTI: dipende dalla connessione con Microsoft Cloud. (Python>Fomule>Reimposta Runtime )
    • #TIMEOUT: abbiamo oltrepassato un limite temporale relativo al tempo di esecuzione del nostro script, che possiamo modificare cliccando su Opzioni > File > Impostazioni Avanzate > Durante il calcolo della cartella di lavoro > Timeout formula Python
    • #SCONOSCIUTO: la versione Excel che stiamo utilizzando non supporta Python

    Come creare un grafico con Python in Excel

    SCATTERMATRIX_EXCEL_MARCOFILOCAMO

    Con Python in Excel si possono creare grafici di tutti i tipi con poche istruzioni. Tendenzialmente l'input delle funzioni plot sono dei dataframe. Per la realizzazione dei grafici vengono messe a disposizione alcune delle librerie più famose di Python come Matplotlib e Seaborn e si possono fare con semplicità scatter, regressioni lineari, grafici 3D e molto altro ancora.

    Per esempio, un grafico interessante è il tracciato di coppia offerto da Seaborn, cioè una matrice di grafici che evidenzia le relazioni fra tutti gli elementi di un dataframe. In questo caso avremo tutte le nostre specie di squali, analizzate secondo le caratteristiche che abbiamo indicato nella tabella.

    Puoi realizzare direttamente il grafico inserendo =PY( per poi utilizzare queste specifiche:

    import seaborn as sns
    dataframe_squali = xl("TBL_SQUALI[#Tutti]", headers=True)
    sns.pairplot(dataframe_squali, hue="Specie")

    Vediamo i passaggi nello specifico:

    • Importiamo seaborn nel nostro DataFrame, definendolo come sns. Questo funzionamento è simile alla funzione LET in Excel, dato che poi riutilizzeremo proprio sns nella parte successiva
    • Definiamo il nostro dataframe chiamandolo dataframe_squali e riprendendo quanto fatto in precedenza
    • Indichiamo che vogliamo creare una pairplot, con seaborn (sns) che utilizzi il dataframe_squali, differenziando i colori a seconda della variabile "Specie"

    Rispetto a creare direttamente un grafico in Excel, questo è un metodo decisamente diverso perchè dobbiamo dichiarare tutto dall'inizio. Ciò non toglie modificare poi ex post alcuni elementi quali i colori o le linee tratteggiate, ma i grafici generati da Python sono vere e proprie immagini, quindi più statiche come modifiche rispetto ai grafici Excel, una volta realizzati.

    Quali sono i limiti di Python in Excel

    A questo punto può essere interessante fermarsi per capire quale sia il perimetro entro il quale Python in Excel può agire e capire cosa aspettarsi da questo strumento. Vediamo nel dettaglio i limiti di Python in Excel:

    • Per ragioni di sicurezza, le limitazioni più grandi riguardano sicuramente la possibilità di collegarsi a fonti dati e la possibilità di interagire con altri strumenti. Il codice non interagisce con le macro (o con il codice VBA in generale) nè con formule Excel nè con tabelle pivot o grafici, rimanendo piuttosto statico
    • Le tradizionali funzioni pandas.read_csv e pandas.read_excel per l'import dei dati in Python sono inibite e i dati da elaborare, come detto, possono provenire solo dal file oppure essere richiamati con Power Query, il che è sicuramente un limite per chi già utilizzi Python a livello professionale
    • L'essere sempre connessi a Internet può essere un problema se lavoriamo con dati di grandi dimensioni o in zone dove la connessione non sia ottimale
    • Dover utilizzare Windows è un ulteriore limite alla diffusione di Python in Excel, almeno per il momento
    • La possibilità di pagare per un add-in per calcoli premium o per avere Python su file con un calcolo non automatico può essere un altro limite rilevante
    • Le librerie disponibili sono ancora limitate, se pensiamo a Python nel suo complesso

    Per un'analisi tecnica approfondita, che arriva dal creatore di xlwings (plugin per utilizzare Python in Excel), ti consiglio di dare un'occhiata qui.

    Le librerie di Python in Excel

    Le librerie principali messe a disposizione per Python in Excel sono quelle fornite da Anaconda e sono fra le più utilizzate dagli addetti ai lavori, cioè:

    • Pandas: scritta per la manipolazione e l'analisi dei dati, offre strutture dati e operazioni per l'analisi di tabelle e serie
    • Numpy: che aggiunge supporto per array e matrici di grandi dimensioni e multidimensionali, insieme a una vasta raccolta di funzioni matematiche di alto livello per operare su array
    • Matplotlib: per elaborare grafici di vari tipi sia bidimensionali che tridimensionali, simili a quelli prodotti da MATLAB
    • Seaborn: per la creazione di grafici statistici che fornisce stili predefiniti e palette di colori accattivanti. Basata sulla libreria matplotlib e strettamente integrata con le strutture dati di pandas
    • Statsmodels: per i modelli statistici, nonché per la realizzazione di test ed esplorazione di dati.

    Esiste anche la possibilità di importare altre librerie scrivendo:

    import numpy as np

    oppure

    from x import y

    È bene ricordare che le istruzione di import librerie andrebbero messe nel primo foglio per assicurarsi che vengano importate prima di essere richiamate. Microsoft stessa indica comunque le librerie che possiamo utilizzare, fornite da Anaconda.

    Ulteriori add-in per utilizzare Python in Excel

    Il progetto di portare Python all'interno dell'ambiente Excel esiste da tempo e in questo lasso di tempo sono stati creati altri add-in esterni, dei quali due che devono essere citati e che puoi esplorare in solitaria: xlwings e PyXLL.

    Se hai già dimestichezza con Python, non dubito che troverai entrambi questi progetti molto interessanti, ma rimangono per il momento dedicati a un'utenza esperta che sappia già lavorare con i dati.

    L'arrivo nativo di Python in Excel dovrebbe permettere di avvicinare un'utenza business a Python senza andare troppo nel tecnico, ampliando al contempo le persone che potrebbero essere interessate a add-in dedicati proprio come xlwings (il creatore è Felix Zumstein) e PyXLL (il creatore in questo caso è Tony Roberts).

    Conclusioni

    L'arrivo di Python in Excel è fra le novità più importanti nel mondo Office. Fornire la possibilità di eseguire delle analisi dati integrando gli strumenti di Excel con quelli di Python promette di rendere l'analisi dati decisamente più semplice e allo stesso tempo più potente, senza dover più scegliere quale strumento utilizzare. Ci sarà sicuramente un periodo di adattamento dedicato a comprenderne meglio il potenziale, in particolare in ambito aziendale, ma ormai il dado è tratto e, per i professionisti del futuro, Python diventerà ancora più centrale. Gli sviluppi non sono sicuramente terminati qui, quindi aspettiamoci grandi novità anche nei prossimi mesi!

    Lascia un commento

    Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *