AD

Importare un file JSON in Pandas

Oltre a lavorare con file CSV, Pandas supporta anche l'importazione di dati in formato JSON (JavaScript Object Notation), un formato di dati molto popolare per la sua leggerezza e la facilità d'uso.

Il formato JSON è ampiamente utilizzato nelle API, nei file di configurazione e nei database NoSQL, rendendolo una scelta comune per la gestione dei dati. Pandas offre strumenti semplici e potenti per convertire JSON in DataFrame, una struttura tabellare che facilita l'analisi e la manipolazione dei dati. Questa conversione è utile soprattutto quando si lavora con grandi volumi di dati o si devono eseguire operazioni complesse su di essi.

Un file JSON è costituito da coppie chiave-valore, che possono essere annidate in oggetti e array. Ecco un esempio semplice di dati JSON:

[     {"nome": "Alice", "età": 25, "città": "Roma"},     {"nome": "Bob", "età": 30, "città": "Milano"},     {"nome": "Charlie", "età": 35, "città": "Torino"} ]

Importare un JSON in Pandas

Pandas offre una funzione integrata chiamata read_json() per importare file JSON. Questa funzione è estremamente versatile e supporta diverse configurazioni di file JSON.

Ecco un esempio di come importare un file JSON in un DataFrame:

import pandas as pd # Importazione del file JSON in un DataFrame df = pd.read_json('percorso/al/tuo/file.json') # Visualizzazione delle prime righe del DataFrame print(df.head())

Oltre ai file JSON, Pandas permette di importare dati JSON direttamente da una stringa JSON. Questo è utile quando i dati vengono forniti sotto forma di stringa, ad esempio dalle API.

import pandas as pd import json # Stringa JSON data = ''' [     {"nome": "Alice", "età": 25, "città": "Roma"},     {"nome": "Bob", "età": 30, "città": "Milano"} ] ''' # Conversione della stringa JSON in un DataFrame df = pd.read_json(data) # Visualizzazione delle prime righe del DataFrame print(df.head())

In molti casi, i file JSON possono avere una struttura annidata, con liste o dizionari all'interno di altri dizionari. Pandas offre strumenti per lavorare con questi dati, ma potrebbe essere necessario un ulteriore pre-processamento.

Quando i dati JSON sono annidati, Pandas può gestirli automaticamente fino a un certo livello, ma per strutture molto complesse potrebbe essere necessario "appiattire" i dati.

Consideriamo, ad esempio, il seguente JSON annidato:

{     "nome": "Alice",     "età": 25,     "indirizzo": {         "città": "Roma",         "CAP": "00100"     } }

Per convertire questo tipo di JSON in un DataFrame, potresti dover ricorrere a tecniche avanzate come l'uso della libreria json_normalize di Pandas:

import pandas as pd from pandas import json_normalize # JSON annidato data = {     "nome": "Alice",     "età": 25,     "indirizzo": {"città": "Roma", "CAP": "00100"} } # Normalizzazione del JSON annidato in un DataFrame df = json_normalize(data) print(df)