Atelier de données local

Importez des fichiers CSV, JSON, JSONL ou Parquet locaux et interrogez-les avec DuckDB SQL dans le navigateur.

Vos saisies et fichiers restent dans le navigateur

Importer des données locales

Déposez un fichier de données ici

CSV, TSV, JSON, JSONL, NDJSON ou Parquet. Importez plusieurs fichiers pour joindre des tables.

Les exemples mettent le nom entre guillemets ; espaces et caractères non latins sont acceptés.

Les fichiers restent sur cet appareil. DuckDB s’exécute dans un Web Worker avec des ressources locales ; SQL ne peut lire ni URL ni autres fichiers.

Limites : 1 Gio par entrée, 128 Mio lors du transcodage, 512 Mio de mémoire DuckDB, 100 000 lignes d’aperçu, 500 lignes par page et 512 Mio pour le téléchargement de secours ou Parquet. JSON/JSONL est entièrement décodé en mémoire comme enregistrements plats, et non par blocs. Annuler libère toutes les tables.

Tables importées

Aucune table importée.

    Requête SQL

    Appuyez sur Ctrl ou Cmd + Entrée. Une seule instruction locale SELECT ou WITH en lecture seule est permise.

    Le résultat est matérialisé dans le worker puis lu par pages limitées.
    Résultat de la requête

    Importez une table et exécutez une requête pour parcourir le résultat.

    Sur cette page

    L’atelier local exécute DuckDB-WASM dans le navigateur pour interroger CSV, JSON, JSONL et Parquet sans téléverser les données. Chaque fichier reçoit un nom de table SQL et plusieurs fichiers peuvent être joints.

    Fonctionnalité détaillée

    DuckDB et son Web Worker sont servis par MyDevTools et ne se chargent qu’au premier import. Aucun SharedArrayBuffer, isolement interorigine, serveur ou CDN externe n’est nécessaire. Accès externe, extensions, lecteurs d’URL et SQL modifiant la base sont désactivés.

    L’éditeur accepte SELECT et WITH, filtres, groupes, agrégats, tris et JOIN. L’aperçu est explicitement limité à 100 000 lignes et la table virtuelle demande au plus 500 lignes à la fois. Entiers et décimaux ne passent pas par Number de JavaScript.

    CSV, JSON et JSONL sont exportés par blocs avec contre-pression. Parquet est produit dans un tampon unique. Les téléchargements de secours et Parquet sont limités à 512 Mio.

    Exemples pratiques

    SELECT : importez orders.csv comme orders, puis exécutez SELECT * FROM "orders" LIMIT 100.

    WHERE : filtrez localement par statut.

    GROUP BY : regroupez par pays et additionnez les montants.

    JOIN : importez customers.parquet puis joignez les tables sur une clé commune.

    Comment utiliser cet outil

    1. importez les fichiers

      Choisissez format, nom de table et options CSV.

    2. écrivez le SQL local

      Partez de SELECT, WHERE, GROUP BY ou JOIN et appuyez sur Ctrl/Cmd + Entrée.

    3. parcourez le résultat

      La table virtuelle ne transfère et n’affiche qu’une petite page.

    4. exportez ou redémarrez

      Exportez CSV, JSON, JSONL ou Parquet. Annuler ou redémarrer arrête le worker et libère les données.

    Conseils et bonnes pratiques

    • Entourez tables et colonnes de guillemets doubles.
    • Utilisez LIMIT et des WHERE sélectifs pour les gros fichiers.
    • L’inférence CSV peut transformer les identifiants à zéros initiaux en nombres ; utilisez le Convertisseur de formats pour préserver le texte.
    • BIGINT et DECIMAL ne sont pas arrondis via Number.
    • Annuler termine le worker et impose un nouvel import.
    • CSV/JSON/JSONL peuvent être diffusés ; Parquet est tamponné jusqu’à 512 Mio.

    Aidez-nous à choisir la suite

    Que devrions-nous améliorer ensuite ?

    Choisissez une suggestion. Ce sont des idées, pas des fonctionnalités promises.

    Choisissez une option

    Le vote envoie uniquement l’option choisie sous forme de compteur anonyme. Il ne contient aucune saisie, donnée de fichier, URL, cookie ou identifiant et n’est pas conservé dans ce navigateur. Recharger la page permet de voter à nouveau.