Un file JSON può essere perfetto per un’API o un database, ma poco pratico quando devi filtrare ordini, confrontare clienti o preparare un report. Il passaggio da JSON a Excel è semplice con dati piatti, mentre richiede qualche scelta in più quando compaiono oggetti annidati, liste o campi mancanti. In questa guida mostro i metodi più utili, i passaggi operativi e i controlli da fare prima di usare il foglio per un’analisi.
Il metodo migliore dipende dalla struttura e dalla frequenza dei dati
- Power Query è la scelta più pratica per importare e aggiornare file JSON direttamente in Excel.
- Un convertitore online va bene per file non sensibili e conversioni occasionali.
- Python e pandas offrono più controllo per grandi volumi e processi ripetuti.
- Gli oggetti annidati devono essere espansi o normalizzati prima di diventare colonne leggibili.
- Prima dell’analisi bisogna controllare date, numeri, duplicati e righe mancanti.

Perché un file JSON non diventa automaticamente una buona tabella
JSON, acronimo di JavaScript Object Notation, organizza i dati attraverso coppie chiave-valore, oggetti e array. Excel invece lavora meglio con una struttura tabellare dove ogni riga rappresenta un record e ogni colonna contiene un attributo omogeneo.
Un esempio semplice è questo:
[
{
"id": 101,
"cliente": "Rossi",
"totale": 89.90
},
{
"id": 102,
"cliente": "Bianchi",
"totale": 145.50
}
]Qui la trasformazione è lineare: un oggetto JSON diventa una riga e ogni chiave diventa una colonna. Il problema nasce quando il file contiene strutture più profonde, come un cliente con indirizzo, telefono e una lista di ordini.
In questi casi non basta esportare il file. Bisogna decidere se creare un’unica tabella, più fogli collegati oppure una tabella principale accompagnata da tabelle di dettaglio. La mia regola è semplice: se un campo contiene una lista, quasi sempre merita una tabella separata o un’espansione controllata.
La soluzione più rapida con Power Query
Per una conversione occasionale o per un flusso che dovrà essere aggiornato, partirei da Power Query. È integrato nelle versioni recenti di Excel e permette di importare il JSON, espandere i livelli interni e caricare il risultato nel foglio senza scrivere codice. Microsoft Support documenta il percorso attraverso il comando di importazione dei dati da file JSON.
Importare il file dal computer
- Apri Excel e crea una cartella di lavoro vuota.
- Vai su Dati, poi su Recupera dati, Da file e Da JSON.
- Seleziona il file e attendi l’apertura dell’editor di Power Query.
- Se visualizzi una lista, scegli In tabella.
- Usa il pulsante di espansione sulle colonne che contengono record o liste.
- Controlla i tipi di dati e seleziona Chiudi e carica.
Le voci possono cambiare leggermente tra Excel per Windows, Mac e Microsoft 365, ma la logica resta la stessa. Il passaggio più importante non è il caricamento iniziale: è l’espansione corretta dei campi, perché un clic frettoloso può produrre colonne poco leggibili o duplicare le righe.
Gestire oggetti e liste annidate
Immagina un record con questa struttura:
{
"id": 101,
"cliente": {
"nome": "Rossi",
"citta": "Milano"
},
"prodotti": [
{"sku": "A10", "quantita": 2},
{"sku": "B20", "quantita": 1}
]
}L’oggetto cliente può diventare facilmente due colonne, come “cliente.nome” e “cliente.citta”. La lista “prodotti”, invece, contiene più elementi per lo stesso ordine: trasformarla in colonne fisse renderebbe il modello fragile, quindi preferisco espanderla in righe mantenendo l’identificativo dell’ordine.
Questo crea una tabella di dettaglio con una riga per prodotto. Il valore dell’ordine può comparire più volte, ma non è un errore: è il modo corretto per conservare la relazione tra ordine e articoli acquistati.
Quando conviene usare un convertitore online
I convertitori web sono comodi se devi trasformare un piccolo file una sola volta e non vuoi installare strumenti. In genere il risultato viene prodotto in formato XLSX o CSV in pochi minuti, con una procedura basata su caricamento, conversione e download.
La comodità, però, non deve far dimenticare la riservatezza. Eviterei di caricare dati contenenti nomi, email, token API, informazioni finanziarie o dati di clienti, a meno di conoscere con precisione le condizioni del servizio e le modalità di eliminazione dei file.
| Metodo | Tempo iniziale indicativo | Vantaggio principale | Limite da considerare |
|---|---|---|---|
| Power Query | 5-15 minuti | Importazione aggiornabile senza codice | Richiede interventi sui dati annidati |
| Convertitore online | 1-3 minuti | Rapidità e semplicità | Rischi per la privacy e meno controllo |
| Python con pandas | 15-30 minuti la prima volta | Automazione e personalizzazione | Serve una minima conoscenza tecnica |
Per file piatti e non riservati, questa strada può essere sufficiente. Quando invece la conversione diventa ricorrente, affidarsi ogni volta a un sito esterno crea un processo poco tracciabile: preferisco una query salvata o uno script ripetibile.
Come automatizzare la conversione con Python
Python è utile quando ricevi ogni giorno file JSON, devi elaborare migliaia di record oppure vuoi integrare la trasformazione in una pipeline di analisi. La libreria pandas permette di leggere i dati, normalizzare gli oggetti annidati e scrivere direttamente un file Excel.
import json
import pandas as pd
with open("dati.json", "r", encoding="utf-8") as file:
dati = json.load(file)
if isinstance(dati, dict):
dati = dati.get("items", [dati])
tabella = pd.json_normalize(dati, sep=".")
tabella.to_excel(
"dati_convertiti.xlsx",
index=False,
engine="openpyxl"
)Prima di eseguire lo script devi installare le librerie necessarie, generalmente con pandas e openpyxl. Il codice funziona bene quando il JSON contiene una lista di record simili; se la struttura cambia molto da un file all’altro, occorre aggiungere controlli e regole di trasformazione.
Leggi anche: Da XML a Excel con Power Query - guida pratica
Il punto delicato sono le liste interne
json_normalize() trasforma bene gli oggetti annidati, ma una lista di prodotti, eventi o transazioni può richiedere un passaggio ulteriore. In pratica si usa spesso explode() per portare ogni elemento della lista su una riga distinta, conservando una chiave come “ordine_id” per collegarlo al record principale.
Questo approccio è più impegnativo all’inizio, ma ripaga quando il processo viene ripetuto. Una volta definita la logica, puoi ottenere lo stesso risultato su decine di file e ridurre gli errori manuali, soprattutto nei report mensili.
JSON, CSV o XLSX quale formato scegliere
Convertire JSON in Excel non significa necessariamente che XLSX sia il formato migliore per ogni fase. Io distinguerei il formato di lavoro dal formato di consegna, perché un file comodo da analizzare non è sempre quello più adatto a essere archiviato o importato in un altro sistema.
| Formato | Uso consigliato | Punti di forza | Limiti |
|---|---|---|---|
| JSON | API, applicazioni e scambio dati | Struttura flessibile e supporto per dati annidati | Meno immediato per chi lavora in foglio di calcolo |
| CSV | Importazioni semplici e interoperabilità | Leggero, universale e facile da elaborare | Non conserva più fogli, formule o strutture complesse |
| XLSX | Analisi, report e consegna a utenti aziendali | Filtri, formule, più fogli e formattazione | Più pesante e soggetto ai limiti del foglio |
CSV è spesso la scelta più pulita per dati piatti e grandi, mentre XLSX è più adatto quando servono grafici, formule o un report leggibile. Un singolo foglio Excel può contenere al massimo 1.048.576 righe: oltre questa soglia conviene dividere i dati, usare più fogli o mantenere il dataset in un database.
Presterei attenzione anche alle date e ai numeri decimali. Un valore come “12,50” può essere interpretato diversamente in base alle impostazioni locali, mentre una data ISO come “2026-08-19T14:30:00Z” deve essere convertita tenendo conto del fuso orario, non semplicemente formattata.
Controlli da fare prima di usare il file
Una conversione riuscita non garantisce che il risultato sia pronto per l’analisi. Prima di creare una tabella pivot o un dashboard, controllo sempre la struttura, il numero di record e i valori anomali.
- Confronta il numero di oggetti JSON con il numero di righe ottenute.
- Verifica che gli identificativi siano univoci nella tabella principale.
- Controlla se i campi mancanti sono davvero vuoti o se indicano un errore di importazione.
- Uniforma date, valute, separatori decimali e valori booleani.
- Cerca duplicati creati dall’espansione di liste interne.
- Conserva il file originale e annota le trasformazioni applicate.
Il controllo sulle righe è quello che più spesso evita interpretazioni sbagliate. Se un ordine con cinque prodotti diventa cinque righe, sommare direttamente il valore totale dell’ordine produrrà un risultato gonfiato: bisogna aggregare a livello di ordine oppure usare la tabella dei prodotti per i calcoli di dettaglio.
Un altro errore comune riguarda i numeri memorizzati come testo. Se Excel allinea un importo a sinistra o non lo include nei calcoli, non è un problema estetico: significa che il tipo di dato va corretto prima di qualsiasi analisi.
Un flusso affidabile per lavorare con dati JSON
Per un file isolato, Power Query è normalmente il compromesso migliore tra velocità e controllo. Per un processo ricorrente, imposterei invece una sequenza stabile: acquisizione del JSON, verifica dello schema, normalizzazione, controlli di qualità ed esportazione finale.
Se il JSON arriva da un’API, aggiungerei anche la gestione di paginazione, autenticazione e richieste fallite. Un file può sembrare completo e contenere soltanto la prima pagina dei risultati, oppure riportare un errore al posto dei dati attesi.
La conversione deve quindi essere considerata una fase di preparazione dei dati, non un semplice cambio di estensione. Quando la struttura viene capita prima dell’esportazione, Excel diventa davvero utile per analizzare il contenuto invece di limitarsi a visualizzarlo.
