Analyser un dump CSV/JSON en le chargeant dans SQLite
Quand l'utiliser : Quelqu'un vous a envoyé un CSV avec 200k lignes et la question 'quel segment convertit le mieux ?' — trop gros pour des feuilles de calcul, trop petit pour une vraie base de données.
Prérequis
- Fichier source sur le disque — Enregistrez-le en .csv ou .json dans un dossier de travail
- Un chemin de fichier SQLite vide — Choisissez un emplacement comme /tmp/analysis.db ; le MCP le créera
Déroulement
-
Créer la table et chargerCréez une table
signupsdans /tmp/analysis.db correspondant aux colonnes de /data/signups.csv. Chargez toutes les lignes. Dites-moi le nombre de lignes.✓ Copié→ Table créée, le nombre de lignes correspond au fichier -
Explorer le schémaQuelles colonnes existent ? Pour chacune, quelle est la distribution des valeurs (top 5 valeurs distinctes pour les catégories ; min/max/moyenne pour les numériques) ?✓ Copié→ Profil par colonne
-
Répondre à la vraie questionGrouper par signup_source. Pour chacun, calculer : total des inscriptions, taux de conversion (inscriptions avec completed_onboarding=true / total). Trier par taux de conversion.✓ Copié→ Table prête pour la décision avec le SQL affiché
Résultat : Des réponses défendables en 5 minutes, avec un fichier .db que vous pouvez réinterroger à mesure que de nouvelles questions émergent.
Pièges
- Les colonnes CSV sont mal typées automatiquement (nombres en TEXT) — Après le chargement, exécutez
PRAGMA table_info(signups)et CAST ou recréez les colonnes avec des types explicites si nécessaire - Les chaînes de date ne se trient/comparent pas correctement en TEXT — Stockez les dates en ISO 8601 (YYYY-MM-DDTHH:MM:SSZ) pour que lexicographique = chronologique ; ou utilisez
julianday()pour les calculs