Migrazione di sistemi: Pandas come tuttofare
Pandas é solo uno strumento per Data Scientist? Non solo. Quando si tratta di dati in file excel o in
Come posso spostare i dati da un ERP all'altro? Come posso effettuare un backup del mio MES, per agevolare il lavoro di chi opera solo con Datasheet? Con Excel, Calc, Datasheets, Numbers?
Scenario
La migrazione da un gestionale all'altro, posso sempre affidarla ad esperti del settore. Talvolta è la strada che si preferisce per mille e piú motivi (tutti quanti validi).
Ed ecco che arriva il ma.
Ma in virtù di una digitalizzazione reale e concreta, si suppone che la percezione dei dati sia reale, tangibile: tanto che l'analisi dei dati diviene la vera materia di dibattito ad ogni riunione.
Tale analisi é possbile realizzarla tramite software appositi o scrivendo la propria suite, pescando a piene mani dal mondo data scientist. E lo stesso software ci permette di affrontare la migrazione dei dati.
Vediamo Python con Jupyter, come un solo strumento, per conseguire i due obiettivi.
Avvio lavori
1) Identifica le entità e relative tabelle da cui effettuare la copia dei dei dati
Preparati ad estrapolare i dati dal tuo gestionale, sfruttando la via piú automatizzata possibile; pertanto, assicurati di accedere direttamente alle API del tuo ERP.
Ad esempio, ERP come Odoo, offrono delle API tramite RDP, mentre altri utilizzano le RESTAPI.
Python permette di eseguire rapidamente una richiesta dati:
import odoorpc
__odoo: odoorpc.ODOO = odoorpc.ODOO(host='domain_with_odoo.code', port=443, protocol="jsonrpc+ssl")
__odoo.login("db_name_odoo", "user", "secret_password")
categorie=__odoo.env["product.category"].search([])
prodotti=__odoo.env["product.template"].search([])
Automatizzare il recupero dei dati ( o dump) è fondamentale per automatizzare il processo, ma lo é ancor di piú per costruire la tua suite personalizzata.
2) Prepara un DB temporaneo locale: sqlite, ad esempio
Sfrutta le potenzialità di pandas: lascia che sia questi ad occuparsi dell'organizzazione dei tuoi dati, grazie ai suo DataFrame.
Tra i mille e piú vantaggi, possiamo scaricare i DataFrame direttamente in una tabella di un database, e viceversa. Cosi facendo, ciascun DataFrame con cui si opera, diventa di fatto una rappresentazione 1:1 di una tabella.
In questo modo, potrai esportare i dati (parzialmente o totalmente) dal tuo ERP in un DB temporaneo, per effettuare ulteriori elaborazioni, fondere i dati, ampliarne il contenuto ed infine preparare i dati per essere inviati nel tuo nuovo ERP.
3) Suggerimento: esegui una importazione parziale
Durante lo sviluppo della tua suite e la relativa verifica, cosnidera di limitarti ad una decina di dati (significativi) tale per cui sia possibile effettuare un controllo capillare.