Convertir JSON en Excel : Power Query et Python sans plugin
Excel ne peut pas ouvrir un fichier JSON directement — il faut passer par Power Query (intégré dans Excel depuis 2016) ou par un script Python. Voici les méthodes claires selon votre niveau et votre version d'Excel.
Méthode 1 — Power Query (sans code, recommandé)
- Dans Excel, aller dans Données > Obtenir des données > À partir d'un fichier > Depuis JSON
- Sélectionner votre fichier .json
- Power Query s'ouvre et affiche la structure du JSON. Si c'est un tableau d'objets, cliquez sur "Vers table" dans le ruban
- Cliquez sur l'icône d'expansion (⇲) dans l'en-tête de colonne pour développer les champs imbriqués
- Sélectionnez les colonnes à importer et désélectionnez celles dont vous n'avez pas besoin
- Accueil > Fermer et charger — les données s'insèrent dans une nouvelle feuille Excel
Méthode 2 — Python (fichiers complexes ou en masse)
JSON simple (tableau d'objets) :
import pandas as pd
df = pd.read_json('fichier.json')
df.to_excel('fichier.xlsx', index=False)
JSON imbriqué (objets dans objets) :
import pandas as pd
import json
with open('fichier.json', 'r', encoding='utf-8') as f:
data = json.load(f)
# json_normalize aplatit les objets imbriqués
df = pd.json_normalize(data)
df.to_excel('fichier.xlsx', index=False)
Méthode 3 — Convertisseurs en ligne (fichiers légers)
Pour les fichiers JSON non confidentiels de moins de quelques Mo, des outils en ligne permettent une conversion en quelques secondes sans installation. Cherchez "convert json to excel online" et choisissez un site avec connexion HTTPS. Ne téléchargez jamais de fichiers contenant des données personnelles ou confidentielles sur ces outils.
Problèmes courants
Mon JSON a des tableaux imbriqués à l'intérieur d'objets
Power Query peut gérer ce cas, mais vous devrez utiliser plusieurs étapes d'expansion. Chaque fois que vous voyez une colonne contenant "List" ou "Record", cliquez sur l'icône d'expansion pour développer ce niveau. La fonction pd.json_normalize() en Python gère également ce cas avec le paramètre record_path.
La colonne date s'affiche comme un nombre dans Excel
Les dates JSON sont souvent au format ISO 8601 (ex. : "2024-01-15T10:30:00Z"). Dans Power Query, clic droit sur la colonne > Modifier le type > Date/Heure pour la convertir correctement.
Le fichier JSON est trop volumineux pour Power Query
Power Query peut avoir du mal avec les fichiers JSON de plus de 50 Mo. Dans ce cas, utilisez Python avec pandas qui gère des fichiers bien plus volumineux, ou découpez le fichier en parties avec un éditeur JSON.