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

Migrazione di sistemi: Pandas come tuttofare
Photo by Kaleidico / Unsplash

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.