Command Palette

Search for a command to run...

Visionneuse CSV : ouvrez, recherchez et triez les fichiers CSV sans tableur

T
Toolz Team
|Jul 19, 2026|19 min read

Le dernier CSV qui m'a coûté un après-midi était une exportation de 40 Mo depuis le magasin WooCommerce d'un client. J'ai double-cliqué dessus, Excel a décidé que la colonne SKU était une date, et 2024-11-3 était soudainement ce qui était 2024-11-3 — Sauf que c'était un code produit. Excel l'avait utilement réécrit. Au moment où nous avons remarqué que le fichier "nettoyé" avait déjà été réimporté et quelques centaines de produits avaient des SKU qui ne pointaient vers rien.

C'est le problème de l'ouverture d'un CSV dans une application de tableur. Une feuille de calcul n'est pas un spectateur, c'est un éditeur avec des opinions. Il contraint les types, il supprime les zéros en tête des codes postaux et des numéros de téléphone, il réinterprète tout ce qui ressemble vaguement à une date, et il fait tout cela avant d'avoir regardé une seule ligne. Parfois, vous voulez juste examiner Le fichier : vérifiez les noms des colonnes, confirmez le nombre de lignes, trouvez l'enregistrement qui a interrompu l'importation et sortez.

je construis toolz.dev Et je lis constamment les exportations de CSV d'autres personnes - paiements de strip-tease, vidages de bases de données, extraits d'analyse, fichiers de migration de plugins. Alors j'ai construit le Visionneuse CSV Pour être l'option ennuyeuse et honnête : il analyse le fichier, vous montre exactement ce qu'il contient et ne change rien. Pas de contrainte de type, pas de correction automatique, pas de téléchargement. Collez le texte ou déposez le fichier, et il s'affiche sous la forme d'une table que vous pouvez rechercher et trier.

tl;dr : Un visualiseur CSV analyse le texte délimité et le rend sous la forme d'une table sans éditer ni contraindre les valeurs. le Visionneuse CSV Détecte automatiquement si votre fichier utilise des virgules, des points-virgules, des onglets ou des tuyaux, gère les champs entre guillemets RFC 4180 (commas et nouvelles lignes à l'intérieur des cellules, guillemets doublés), vous avertit des lignes en lambeaux et des en-têtes dupliqués, et des exportations vers des CSV ou JSON normalisés. Tout s'exécute dans votre navigateur - le fichier n'est jamais téléchargé et les valeurs restent des chaînes afin que les zéros de tête survivent.

Qu'est-ce qu'un fichier CSV, vraiment ?

CSV signifie valeurs séparées par des virgules, et ce nom est responsable d'une décennie de bogues, car deux des trois mots ne sont pas fiables.

Les valeurs ne sont pas toujours séparées par des virgules. Les paramètres régionaux qui utilisent une virgule comme séparateur décimal - la plupart de l'Europe continentale - exportent avec des points-virgules à la place, car 1,50;2,75 est sans ambiguïté et 1,50,2,75 n'est pas. Excel dans un paramètre régional allemand ou français, cela par défaut. Les exportations d'analyses et de bases de données utilisent souvent des onglets et les pipelines de journaux utilisent fréquemment des tuyaux. L'un de ces éléments est toujours familièrement un "CSV".

Et les valeurs ne sont pas toujours claires. Au moment où une valeur contient le délimiteur, le format a besoin d'une hachure d'échappement et la RFC 4180 en fournit une : encapsulez le champ entre guillemets. À l'intérieur de ces citations, le délimiteur n'est qu'un personnage. Un caractère de citation lui-même est échappé en le doublant. Et un champ entre guillemets peut contenir des sauts de ligne littéraux, ce qui signifie qu'un seul enregistrement logique peut s'étendre sur plusieurs lignes physiques dans le fichier.

Ce dernier point est celui où les analyseurs naïfs meurent. Si votre code est line.split(',') — Et j'ai écrit cette ligne, et vous aussi, ce fichier va la détruire :

id,name,note
1,"Smith, John","He said ""hi""
on the second line"
2,Ada,plain

Trois colonnes, deux enregistrements. Un analyseur de la virgule divisée voit quatre champs dans la deuxième ligne, panique sur les citations errantes et traite la ligne emballée comme un troisième enregistrement. Un analyseur approprié parcourt le caractère de chaîne par caractère, en suivant s'il est actuellement entre guillemets, et produit exactement ce que signifie le fichier. Le visionneur CSV fait la deuxième chose.

Principales caractéristiques de la visionneuse CSV

Détection automatique des délimiteurs

Collez un fichier et l'outil devine le délimiteur avant de faire autre chose. L'approche naïve consiste à compter les caractères et à choisir le plus fréquent, qui échoue immédiatement à la prose - un notes La colonne pleine de phrases anglaises contient beaucoup plus de virgules qu'un fichier délimité par un point-virgule a des points-virgules.

Donc, les scores de détection cohérence au lieu de la fréquence. Il prend les dix premières lignes non vides, compte chaque délimiteur de candidats (virgule, point-virgule, tabulation, tuyau) en dehors des sections cotées et récompense le candidat qui produit le même nombre sur chaque ligne. Un véritable délimiteur apparaît exactement columns - 1 fois par ligne, chaque ligne. Une virgule à l'intérieur de la prose apparaît irrégulièrement. La cohérence gagne, la fréquence ne fait que rompre les liens. Si cela se trompe toujours, et ce sera le cas, sur les fichiers avec une seule colonne, vous pouvez le remplacer à partir de la liste déroulante.

Analyse des champs cités par la RFC 4180

L'analyseur est une machine à états au niveau des caractères, pas une regex et non une fraction. Il suit un booléen : sommes-nous à l'intérieur d'un champ cité ? Les citations intérieures, les délimiteurs et les nouvelles lignes sont des caractères ordinaires et un doublé "" émet une seule citation littérale. En dehors des guillemets, un délimiteur met fin au champ et une nouvelle ligne termine l'enregistrement. Les terminaisons de ligne CRLF, LF et CR nue sont toutes acceptées, car les exportations Windows, les exportations Unix et les anciens exportations de Mac existent et se retrouvent toutes dans la même boîte de réception.

C'est la différence entre un spectateur qui vous montre Smith, John dans une cellule et une qui vous montre "Smith et John" en deux.

Rechercher dans chaque colonne

La zone de recherche filtre les lignes avec une correspondance de sous-chaîne insensible à la casse contre chaque cellule de la ligne. Ce n'est pas flou, ce n'est pas un langage de requête, et c'est délibéré. Lorsque vous recherchez l'enregistrement qui a interrompu une importation, vous avez un ID de commande ou une adresse e-mail et vous souhaitez que la ligne qui le contient, soit immédiatement.

La recherche s'exécute sur les données analysées en mémoire, de sorte qu'elles sont instantanées sur des fichiers de toutes tailles que votre navigateur peut contenir, et il compose avec le tri : filtrer d'abord, trier le résultat, exporter ce qui reste.

Tri des colonnes compatibles numériques

Cliquez sur un en-tête de colonne pour le trier. Cela semble trivial et n'est pas, car CSV n'a aucun type - chaque valeur arrive en tant que chaîne, et le tri des chaînes met 100 avant 9 et 2024-3-1 avant 2024-11-1.

Le tri inspecte les valeurs : si chaque cellule non vide de la comparaison analyse en nombre (avec des milliers de séparateurs dépouillés), il se compare numériquement. Sinon, cela revient à une comparaison de chaînes de chaînes avec une collation numérique, donc item2 Trie avant item10. Les cellules vides s'enfoncent toujours au fond, dans les deux sens, car un blanc n'est pas une petite valeur - il manque une valeur, et enterrer les données manquantes en haut d'un tri descendant est la façon dont vous ne le remarquez pas.

Avertissements sur la qualité des données

Deux problèmes structurels sont signalés avant d'aller plus loin.

Lignes irrégulières. Si une ligne a plus ou moins de champs que l'en-tête, quelque chose ne va pas en amont : un délimiteur non coté dans une valeur, une exportation tronquée, une nouvelle ligne parasite. Le visualiseur compile des lignes courtes et tronque les longues, de sorte que la table affiche toujours, puis vous indique exactement combien de lignes ont été affectées. Ce nombre est le nombre que je vérifie en premier, car un fichier avec trois lignes irrégulières sur dix mille a un bogue de données. COPY In Postgres fera surface à 3 heures du matin.

Dupliquez les noms de colonnes. Deux colonnes appelées id Sera écraser silencieusement l'un l'autre dans presque tous les consommateurs en aval - Pandas les renommera, une conversion JSON ne conservera que la dernière et une erreur d'importation SQL sera. Le spectateur les nomme dans la bannière d'avertissement afin que vous puissiez corriger l'en-tête avant que cela ne compte.

Exportation CSV et JSON

Le panneau d'exportation re-sérialise tout ce qui est actuellement à l'écran - filtré, trié, quoi que vous ayez fait. L'exportation CSV applique la RFC 4180 correcte en citant la sortie, ce qui en fait un moyen décent de normaliser un fichier qui est arrivé avec des devis incohérents. L'exportation JSON convertit la table en un tableau d'objets s'appuyant sur la ligne d'en-tête, ce que vous voulez lorsque vous alimentez un script ou une API.

Un choix délibéré : Les valeurs exportées conservent les chaînes. "01234" ne devient pas 1234. Une colonne CSV pleine de chiffres peut être une quantité, ou peut-être un code postal, un numéro de compte, un numéro de téléphone ou un SKU, et il n'y a aucun moyen de le dire à partir des données. La contrainte aux chiffres jette les zéros de départ de façon permanente, ce qui est le bogue exact qui a commencé cet article. Si vous voulez des chiffres, placez-les explicitement de l'autre côté, où vous savez ce que signifie la colonne.

Il s'exécute entièrement dans votre navigateur

Le fichier est lu avec le FileReader API et analysé en JavaScript. Rien n'est téléchargé, aucune requête de recherche n'est enregistrée, aucune donnée ne touche un serveur. Ce n'est pas une promesse de politique, c'est un fait architectural que vous pouvez vérifier en ouvrant DevTools, l'onglet Réseau pendant que vous utilisez l'outil, ou en tirant votre Wi-Fi et en le regardant continuer à fonctionner.

Cela compte plus que ce qu'il n'y paraît. La plupart des fichiers CSV qui valent la peine d'être examinés contiennent quelque chose que vous ne colleriez pas dans un site Web d'étranger : e-mails des clients, chiffres de la paie, historique des commandes, exportation d'une base de données de production. Si vous travaillez sous GDPR, HIPAA ou un client NDA, "je l'ai collé dans un convertisseur en ligne" n'est pas une phrase que vous voulez dire à voix haute. J'en ai écrit plus sur ce modèle de menace dans Pourquoi les outils côté client battent les convertisseurs cloud.

Comment utiliser la visionneuse CSV

Étape 1 : Chargez le fichier

deux façons de procéder. Collez le texte CSV directement dans la zone de saisie, ce qui est idéal pour un extrait d'un journal, un message Slack ou une réponse d'API que vous souhaitez attiser. ou cliquez télécharger le fichier et choisissez un .csv, .tsv, ou .txt fichier à partir de votre machine. Le fichier est lu localement ; le bouton de téléchargement est un fichier cueilleur, pas un téléchargement.

Si vous collez à partir d'une feuille de calcul, notez que la plupart des applications de tableur placent du texte séparé par onglet sur le presse-papiers, pas des virgules. Définissez le délimiteur sur Tab, ou laissez-le sur Auto et laissez la détection le gérer.

Étape 2 : Vérifiez les paramètres d'analyse

Trois paramètres, et les valeurs par défaut sont la plupart du temps correctes.

délimiteur est auto par défaut. Remplacez-le si votre fichier a une colonne ou si la détection se trompe sur un petit échantillon.

La première ligne est l'en-tête est allumé. Désactivez-le pour les fichiers sans en-tête - les colonnes deviennent Column 1, Column 2, et ainsi de suite, et aucune ligne n'est consommée.

garnir un espace blanc est allumé, qui dépouille les espaces de tête et de fuite de chaque cellule. C'est généralement ce que vous voulez, puisque , Après un délimiteur est extrêmement courant dans les CSV manuscrites. Désactivez-le si vos données ont des espaces de premier plan significatifs, tels que des champs à largeur fixe qui ont été déversés sur CSV.

Étape 3 : Lisez le tableau

choquer Afficher sous forme de tableau Et vous obtenez la grille analysée plus une ligne de statistiques : combien de lignes sont visibles sur le nombre total, le nombre de colonnes, le délimiteur utilisé et le nombre de colonnes entièrement numériques. Ce nombre numérique est une vérification de santé mentale rapide - si une colonne que vous attendez numérique n'est pas comptée, une ligne dans celle-ci contient un non-numéro et c'est généralement la ligne qui cassera votre importation.

Rechercher des lignes de filtres. Cliquez sur un en-tête trie. Les deux composent.

Étape 4 : Exporter ou passer à autre chose

Copiez la table visible en JSON, téléchargez-la en tant que CSV ou téléchargez-la en tant que JSON. Les filtres et le tri sont appliqués à l'exportation, donc "rechercher pour refunded, trier par date, télécharger csv" vous donne exactement ce sous-ensemble.

Comment cela se compare-t-il à d'autres moyens d'ouvrir un CSV ?

s'approche Contrefere vos données Gère les champs de devis Fonctionne hors ligne Envoie des données n'importe où bien pour
Visionneuse CSV (toolz.dev) non Oui (RFC 4180) oui non Inspection, recherche, vérification de la santé mentale, conversion en JSON
Excel / Google Sheets Oui — dates, zéros non décisifs, notation scientifique oui Excel Oui, Feuilles Non Téléchargement de feuilles vers Google Édition, formules, graphiques
Un éditeur de texte non Non, vous l'analysez dans votre tête oui non Petits fichiers, vérification des fins de ligne
csvkit / xsv / DuckDB non oui oui non Fichiers énormes, scripts, jointures, agrégation
pandas read_csv Oui, par défaut (dtype=str pour l'arrêter) oui oui non Analyse, pipelines de transformation
La plupart des sites "Viseur de CSV en ligne" varie habituellement non Oui — téléchargé sur leur serveur Rien de ce qui te tient à cœur

Le résumé honnête : pour les fichiers supérieurs à quelques centaines de mégaoctets, utilisez DuckDB ou xsv — Un navigateur analyse le fichier entier en mémoire en un seul passage et il n'y a aucun moyen de contourner cela. Pour tout ce que vous devez modifier avec des formules, utilisez une feuille de calcul et acceptez la contrainte, ou importez comme texte. Pour tout ce qui se trouve entre les deux - le "quotidien" "ce qui se trouve réellement dans ce fichier et pourquoi la ligne 4 201 a-t-elle rompu" - un spectateur qui ne change rien n'est le bon outil.

Cas d'utilisation courants

Déboguer une importation ratée

Une importation CSV échoue avec "8 colonnes attendues, obtenu 9 à la ligne 4201". Ouvrez le fichier dans le visualiseur, vérifiez l'avertissement de ligne en l'air, puis recherchez une valeur que vous savez sur cet enregistrement. Neuf fois sur dix, vous trouverez une virgule non cotée à l'intérieur d'une adresse ou d'un nom d'entreprise. Acme, Inc. écrit sans devis. Vous savez maintenant s'il faut corriger l'exportation ou le prétraitement du fichier.

Examen d'une base de données avant de partir n'importe où

Avant que les données d'un client ne quittent votre ordinateur portable, vous voulez savoir ce qu'il contient. Noms de colonne, nombre de lignes, si le email La colonne est entièrement remplie, qu'il existe des ID en double. La ligne et la colonne des statistiques remplies/comptes uniques répondent à tout cela en une dizaine de secondes, sans que le fichier n'atteigne un serveur.

Conversion de CSV en JSON pour une API ou un script

Vous disposez d'une feuille de calcul d'enregistrements et vous en avez besoin comme JSON pour initialiser une base de données, alimenter un point de terminaison REST ou créer un fichier de fixture. Coller, analyser, exporter JSON. Si vous avez besoin du voyage inversé, le CSV à JSON et JSON vers CSV Les outils gèrent la conversion dédiée avec plus d'options, et j'ai parcouru le problème aller-retour en détail dans le Guide de conversion JSON en CSV.

Vérification d'une exportation européenne qui s'est ouverte comme une colonne

Un client envoie une exportation à partir d'une installation allemande d'Excel et chaque ligne est une longue chaîne. Définissez le délimiteur sur point-virgule et il s'enclenche dans les colonnes. Cela prend quatre secondes et vaut la peine d'être informé, car le "le fichier est corrompu" est erroné - le fichier est correct, l'hypothèse de votre analyseur ne l'était pas.

Auditer les exportations d'analyses ou de plateformes publicitaires

Les exportations GA4, Google Ads et Meta arrivent en tant que CSV avec des lignes de métadonnées au-dessus de l'en-tête réel. Désactivez "la première ligne est en tête", regardez la forme et vous verrez exactement sur quelle ligne se trouve l'en-tête réel, puis supprimez les lignes indésirables de la boîte de collage et réanalysez.

Plongée approfondie technique : les règles d'analyse qui comptent réellement

La RFC 4180 est une description, et non une norme que quiconque applique. Il a été publié en 2005 pour documenter ce que les implémentations CSV ont déjà fait, et il note explicitement que beaucoup diffèrent. Considérez-le comme la ligne de base sensée, et non comme une garantie concernant un fichier que vous avez été envoyé.

Citation des règles. Un champ peut être enveloppé de guillemets doubles. Quotes Inside, Délimiteurs, Cr, LF et Citations doublées (""") sont littéraux. Une citation apparaissant au milieu d'un champ non cité est ambiguë - le spectateur ne considère que citer comme significatif uniquement lorsque la citation est le premier caractère du champ, c'est-à-dire le comportement de la plupart des analyseurs réels et qui laisse des valeurs comme 6" nails survivre.

Fin de ligne. CRLF est ce que dit la spécification. LF est ce que produit Unix. Un CR nu est ce que les très anciens logiciels Mac ont produits et ce que certains systèmes embarqués produisent encore. L'analyseur accepte les trois, y compris les fins mixtes dans un seul fichier, car les fins mixtes se produisent absolument lorsque les fichiers sont modifiés sur deux machines.

la nomenclature. Les fichiers UTF-8 écrits par Excel commencent par une marque d'ordre d'octets, EF BB BF. Si le nom de votre première colonne ressemble à id Mais une comparaison de chaînes avec "id" Échec, cette nomenclature invisible chevauche sur le devant. Il s'agit du bogue "pourquoi ma recherche d'en-tête" le plus courant dans la gestion du CSV.

Les nouvelles lignes de suivi. Un fichier se terminant par une nouvelle ligne n'a pas d'enregistrement vide supplémentaire - la nouvelle ligne termine le dernier enregistrement. L'option de sauts-vides du spectateur en fait un non-problème dans les deux sens.

Type d'inférence. Il n'y en a pas. CSV n'a aucun type. Chaque valeur du fichier est une chaîne, et tout type que vous obtenez de l'autre côté a été inventé par votre analyseur sur la base d'une supposition. Ce n'est pas une faille dans le format, c'est toute la nature du format - et c'est pourquoi le spectateur ne devine jamais en votre nom.

FAQ

Comment ouvrir un fichier CSV sans Excel ?

Téléchargez le fichier dans le Visionneuse CSV Ou collez son contenu dans la zone de saisie. Le fichier est analysé dans votre navigateur et affiché sous la forme d'un tableau que vous pouvez rechercher et trier. Pas de logiciel de tableur, aucune installation et aucune mise en ligne sur un serveur.

Pourquoi mon CSV s'ouvre-t-il comme une longue colonne ?

Le délimiteur ne correspond pas. Les fichiers exportés dans des paramètres régionaux qui utilisent une virgule comme séparateur décimal utilisent généralement des points-virgules entre les champs et les exportations séparées par des tabulations utilisent des onglets. Changez le paramètre de délimiteur d'Auto au point-virgule, à la tabulation ou à la tuyauterie et les colonnes se diviseront correctement.

Le spectateur gère-t-il les virgules dans les champs entre guillemets ?

Oui. L'analyseur suit RFC 4180 : un champ enveloppé de guillemets peut contenir des délimitations, des sauts de ligne et des guillemets échappés écrits sous la forme de deux guillemets doubles à la suite. une valeur comme "Smith, John" Reste dans une cellule au lieu de se diviser en deux.

Quelle est la différence entre CSV et TSV ?

Ils utilisent différents séparateurs de champs - CSV se sépare par des virgules, TSV avec des caractères de tabulation. Le TSV nécessite moins de devis, car les onglets apparaissent rarement dans les valeurs de données, c'est pourquoi les exportations de base de données et d'analyses le préfèrent souvent. Ce visualiseur lit les deux ; choisissez l'onglet comme délimiteur pour les fichiers TSV.

Que signifie l'avertissement "lignes déchirées" ?

Une ligne a plus ou moins de champs que la ligne d'en-tête. Cela signifie généralement un délimiteur non coté à l'intérieur d'une valeur, d'une exportation tronquée ou d'un champ contenant une ligne parasite. Le spectateur compile des lignes courtes et tronque les longues afin que la table soit toujours affichée et vous indique combien de lignes ont été affectées.

Y a-t-il une limite de taille de fichier ?

La limite pratique est la mémoire de votre navigateur, car le fichier entier est analysé en un seul JavaScript Pass. Les fichiers jusqu'à quelques dizaines de mégaoctets conviennent bien à un ordinateur portable typique. Pour les exportations multi-gigaoctets, utilisez un outil de streaming tel que CSVKit, DuckDB ou Pandas avec ChunkSize.

Puis-je convertir le CSV en JSON ?

Oui. Le panneau d'exportation convertit la table analysée en un tableau d'objets JSON saisis par la ligne d'en-tête que vous pouvez copier ou télécharger. Les valeurs restent sous forme de chaînes par conception - les contraindre à des nombres supprimerait les zéros de tête des identifiants, des codes postaux et des numéros de téléphone.

Est-il sécuritaire d'ouvrir un CSV confidentiel ici ?

Oui. L'analyse s'exécute entièrement dans votre navigateur à l'aide de JavaScript et de l'API FileReader. Aucun fichier, cellule ou requête de recherche n'est transmis à un serveur ou enregistré. Vous pouvez vérifier cela en ouvrant l'onglet Réseau de votre navigateur DevTools lors de l'utilisation de l'outil ou en vous déconnectant d'Internet.

Outils connexes

  • CSV à JSON — Conversion dédiée avec options de type
  • JSON vers CSV — Le voyage de retour, y compris l'aplatissement des objets imbriqués
  • XML vers JSON — Pour les exportations qui arrivent à la place en XML
  • Formateur JSON — Nettoyez le JSON que vous venez d'exporter
  • Diff JSON — Comparez deux exportations et trouvez ce qui a changé

Lectures complémentaires : Le guide ultime des outils JSON et Conversion JSON en CSV.

Comments

0 comments

0/2000 characters

No comments yet. Be the first to share your thoughts!