DEV Community

Cover image for Utilizzo di Python per la gestione dei dati: esplorazione delle librerie Pandas e Pymongo
Nicola Iantomasi
Nicola Iantomasi

Posted on

Utilizzo di Python per la gestione dei dati: esplorazione delle librerie Pandas e Pymongo

Python si è affermato come uno dei linguaggi di programmazione più popolari nel mondo, essendo particolarmente efficace nel settore della data science e del trattamento dei dati. Due delle sue librerie più utilizzate in questo ambito sono Pandas e Pymongo. In questo post vedremo qualche esempio d'uso di queste potenti librerie per importare e lavorare con dati da varie fonti.

Gestione dei dati CSV con Pandas

Pandas è la libreria di Python per l'importazione e la manipolazione dei dati all'interno di un DataFrame. Un DataFrame è una struttura simile a una tabella con righe ordinate e nominate, chiamate indici del DataFrame.
Il metodo read_csv è spesso usato per importare dati da un file csv. Esso permette di configurare diverse opzioni come il delimitatore, il qualificatore, la riga dell'intestazione, quelle da skippare, i formati delle date e dei numeri. Ecco un esempio di codice.

import pandas as pd
clienti = pd.read_csv(filepath_or_buffer = "Fatture.csv",
sep = ";",
header = 0,
decimal=',')

In particolare abbiamo configurato:

  • il nome del file "Fatture.csv";
  • il carattere separatore (il punto e virgola ";");
  • la posizione della riga di intestazione (0 corrisponde alla prima);
  • il separatore delle cifre decimali (la virgola ",").

In maniera simile, ci sono altri metodi per importare dati da altre fonti che organizzano i dati in tabelle, come Excel e i database SQL.

Gestione dei dati JSON con Pandas

Il formato JSON è largamente usato come formato di interscambio. Pandas fornisce:

  • il metodo read_json per importare direttamente dati da file in formato JSON
  • il metodo json_normalize per creare un Dataframe a partire da una variabile di tipo dizionario.

Risulta importante osservare che a prescindere del formato iniziale (json, excel o csv) l'output sarà sempre un DataFrame. Questo è molto comodo per uniformare i dati importati in una struttura comune, che poi può essere lavorata in modo uniforme. Qui in particolare trovi degli esercizi sull'analisi dei dati. D'altro lato però, potrebbe generare qualche difficoltà nella gestione delle chiavi JSON più complesse.

Gestione dei dati con Pymongo

Pymongo è una libreria Python utilizzata per connettersi e interagire con i database NoSQL di MongoDb. Ecco il codice per connettersi ad un database locale installato a soli fini di test o esercizio personale.

from pymongo import MongoClient
client = MongoClient("mongodb://localhost:27017/")

In generale, è importante rispettare gli standard di sicurezza aziendali quando crei la connessione. Come minimo, dovresti evitare di scrivere direttamente nel codice l'username e la password.

Dopo, puoi connetterti a un database MongoDb e usare le funzioni offerte da Pymongo per gestire i dati. Con questo codice, ad esempio, salvi nella variabile _result _le fatture con tipologia "A".

db = client.DatabaseMongoDB
result = db.fatture.find({"tipologia":{$eq:"A"}});

La variabile _result _è un array di pymongo. Applicando il metodo _next _possiamo lavorare il contenuto del cursore "un documento alla volta"
document = result.next()

A questo punto posso utilizzare tutte le funzionalità dei dizionari di Python. Ad esempio con questo codice

document["id_fattura"]

estraggo la chiave _id_fattura _del documento.

Possiamo lavorare con i cursori anche tramite cicli for

for document in result:
print(document)

Oltre a leggere i dati, hai anche la possibilità di inserire, aggiornare o eliminare documenti dal database, ed eseguire query più complesse di aggregazione dei dati.

Top comments (0)