Da JSON a Excel con Power Query, Python e controlli utili

Emilio Santoro 21 luglio 2026
Editor Power Query per trasformare dati da JSON a Excel, selezionando colonne e opzioni di prefisso.

Indice

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.

Icona di Excel collegata a un database con un fulmine, che simboleggia la conversione da JSON a Excel.

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

  1. Apri Excel e crea una cartella di lavoro vuota.
  2. Vai su Dati, poi su Recupera dati, Da file e Da JSON.
  3. Seleziona il file e attendi l’apertura dell’editor di Power Query.
  4. Se visualizzi una lista, scegli In tabella.
  5. Usa il pulsante di espansione sulle colonne che contengono record o liste.
  6. 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.

Domande frequenti

Power Query è la soluzione più pratica per conversioni occasionali o aggiornabili. Vai su Dati, Recupera dati, Da file e Da JSON, poi espandi record e liste nell'editor prima di selezionare Chiudi e carica.

Un oggetto annidato, come un cliente con nome e città, può essere espanso in più colonne. Una lista di prodotti dovrebbe invece essere trasformata in righe distinte, mantenendo l'identificativo dell'ordine per collegare ogni prodotto al record principale.

Python con pandas è indicato per grandi volumi, file ricevuti frequentemente o processi automatizzati. pandas.json_normalize() gestisce gli oggetti annidati, mentre explode() può portare gli elementi delle liste su righe separate; openpyxl consente di scrivere il file XLSX.

Confronta il numero di oggetti JSON con le righe ottenute, verifica gli identificativi, i campi mancanti e i duplicati generati dall'espansione. Controlla inoltre date, valute, separatori decimali e numeri memorizzati come testo, perché possono alterare filtri e calcoli.

Valuta l'articolo

Valutazione: 0.00 Numero di voti: 0

Tag

json
excel
power query
csv
pandas
Autor Emilio Santoro
Emilio Santoro
Mi chiamo Emilio Santoro e mi occupo di analisi dati, business intelligence e data science da 4 anni. Ho iniziato a esplorare questo mondo perché sono affascinato dal potenziale dei dati nel trasformare le decisioni aziendali e nel fornire una comprensione più profonda dei fenomeni. Sul sito mondobi.it, cerco di rendere accessibili concetti complessi, condividendo la mia esperienza nel collegare la teoria alla pratica e nel presentare informazioni in modo chiaro e organizzato. La mia priorità è offrire contenuti accurati, utili e sempre aggiornati, basati su un'attenta verifica delle fonti e un confronto costante con le tendenze del settore.

Condividi post

Scrivi un commento