Leçon d’histoire : Qu’est-ce qu’un fichier .csv ? Pourquoi Excel modifie vos données à l’ouverture
Valeurs séparées par des virgules : le tableau en texte brut né du FORTRAN des années 1970 et des premiers tableurs, resté sans documentation jusqu’à la RFC 4180 de 2005, et qui perd encore des zéros initiaux et des noms de gènes chaque fois qu’un tableur devine ce que signifie le texte.

TL;DR
Un fichier .csv contient des valeurs séparées par des virgules (comma-separated values) : un tableau écrit en texte brut, un enregistrement par ligne, des virgules entre les champs et des guillemets doubles autour de tout champ qui contient une virgule, un guillemet ou un saut de ligne. L’idée est plus ancienne que le PC : les compilateurs FORTRAN d’IBM lisaient des saisies séparées par des virgules depuis des terminaux et des cartes perforées en 1972, et en 1983 des logiciels de tableur enregistraient déjà des fichiers portant l’extension .CSV. Personne n’a formalisé les règles avant la RFC 4180 d’octobre 2005, qui a aussi enregistré le type MIME text/csv. Comme un CSV ne porte ni types de colonnes, ni formules, ni étiquette d’encodage, chaque programme qui l’ouvre doit deviner — et ce sont les suppositions d’Excel qui font disparaître les zéros initiaux, transforment des noms de gènes en dates et entassent parfois tout le fichier dans une seule colonne.
Qu’est-ce qu’un fichier .csv ?
Ouvrez un CSV dans le Bloc-notes : rien n’est caché. Des lignes de texte, chaque ligne un enregistrement, chaque virgule un changement de colonne. Un champ qui doit contenir une virgule est placé entre guillemets doubles, et un guillemet à l’intérieur d’un tel champ est écrit deux fois. C’est tout le format. Pas d’en-tête technique, pas de liste de types de colonnes, pas de formules, pas de mise en forme — seulement les valeurs, telles qu’un programme les a écrites. Cette simplicité explique que presque toutes les bases de données, tableurs, logiciels de comptabilité, banques et langages de programmation lisent et écrivent du CSV, et que ce soit encore le format de repli de la plupart des exportations et importations de données.
Pourquoi Excel abîme-t-il mon CSV ?
Comme un CSV ne peut pas dire ce que sont ses valeurs, Excel décide lui-même. La documentation de Microsoft énumère les conversions automatiques qu’Excel applique par défaut quand du texte est saisi, collé ou chargé : il supprime les zéros initiaux et convertit le reste en nombre (00123 devient 123 — c’est ainsi que codes postaux et matricules perdent leur premier chiffre) ; il ne garde que les 15 premiers chiffres des nombres longs et peut les afficher en notation scientifique (les derniers chiffres d’un numéro de carte ou de compte deviennent des zéros) ; il traite les chiffres autour de la lettre E comme un exposant (123E5 devient 1,23E+07) ; et il convertit en date un texte qui ressemble à une date, comme JAN1. Si vous enregistrez ensuite la feuille en CSV, ce sont les valeurs converties qui sont écrites.
La deuxième surprise est le délimiteur. Pour enregistrer ou ouvrir un CSV, Excel utilise le séparateur de liste des paramètres régionaux de Windows. Dans une grande partie de l’Europe continentale, la virgule est le séparateur décimal (3,14) ; le séparateur de liste est donc le point-virgule, et les instructions de Microsoft confirment le lien : choisir la virgule comme séparateur décimal « oblige Excel à utiliser un point-virgule comme séparateur de liste ». Un fichier enregistré à Paris peut donc être rempli de points-virgules, et un fichier séparé par des virgules venant d’un système américain peut s’y ouvrir avec chaque ligne tassée dans la colonne A. L’encodage ajoute un troisième piège : Microsoft précise qu’un CSV en UTF-8 ne s’ouvre normalement que s’il a été enregistré avec une marque d’ordre des octets (BOM), quelques octets invisibles au début qui annoncent l’encodage ; sans elle, les lettres accentuées peuvent devenir illisibles, sauf si vous importez le fichier en choisissant UTF-8.
Ouvrir un CSV sans suppositions
Au lieu de double-cliquer, utilisez dans Excel Données > Obtenir des données > À partir d’un fichier texte/CSV, vérifiez le délimiteur et l’origine du fichier (l’encodage), et définissez comme Texte les colonnes telles que codes postaux, numéros de compte ou symboles de gènes avant le chargement. Les versions actuelles d’Excel permettent aussi de désactiver certaines conversions dans Fichier > Options > Données > Conversion automatique des données.
1972 : des virgules plutôt que des colonnes de carte
Avant d’avoir un nom, le CSV a eu une raison d’être. Les données des programmes sur mainframe des années 1960 étaient en général perforées dans des colonnes fixes de cartes à 80 colonnes, et un programme FORTRAN avait besoin d’une instruction FORMAT indiquant exactement quelles colonnes contenaient quel nombre ; une valeur perforée une colonne trop loin était mal lue. Les produits FORTRAN IV d’IBM pour les systèmes d’exploitation OS et VM/370, décrits dans un manuel d’information générale daté de juillet 1972, proposaient une autre voie : l’entrée/sortie dirigée par liste. Le manuel explique que « les entrées sont séparées par des blancs ou des virgules, des virgules successives indiquant des valeurs omises », et que le programmeur n’a plus à se soucier « de la disposition des données ni de la position précise des colonnes de la carte ». IBM la rangeait alors parmi ses extensions au langage standard.
L’entrée dirigée par liste est entrée dans le langage standard avec FORTRAN 77, approuvé en 1978. Elle acceptait les virgules ou les blancs comme séparateurs ; un texte sans guillemets ne pouvait donc contenir ni l’un ni l’autre — le problème que les guillemets du CSV devraient résoudre plus tard. Rien de tout cela n’était encore un format de fichier. C’était une manière de laisser les gens taper des nombres à la suite, séparés par des virgules, et de laisser l’ordinateur trouver où chacun commençait.
1983 : un tableur donne une extension aux fichiers
Les tableurs des micro-ordinateurs ont transformé l’habitude en fichiers. Le guide de référence de 1983 de l’Osborne Executive, un ordinateur portable professionnel livré avec SuperCalc de Sorcim, décrit un utilitaire de conversion qui attribue « .CSV aux fichiers Comma-Separated-Value » et en détaille la structure : des lignes de données terminées chacune par un retour chariot et un saut de ligne, des valeurs séparées par des virgules, des chaînes entre guillemets doubles — qui peuvent contenir des virgules — et un Contrôle-Z marquant la fin du fichier. Le guide ajoute que ces données pouvaient aussi être produites sur un mainframe puis téléchargées sur le poste.
Le même guide énonce le compromis qui définit encore le format. Les formules ne sont pas envoyées dans un fichier CSV ; « seules les valeurs affichées à l’écran au moment de la conversion sont envoyées ». Convertissez une feuille en CSV puis revenez en arrière : les formules ont disparu. Le CSV n’a jamais eu vocation à remplacer un tableur. C’était le plus petit dénominateur commun qui permettait à un tableur, une base de données, un programme BASIC et un mainframe de s’entendre sur des lignes et des colonnes.
Comment fonctionnent les octets
Un CSV n’est qu’une suite de caractères. Chaque enregistrement occupe une ligne, terminée dans la forme classique par un retour chariot et un saut de ligne (CRLF, les deux caractères de contrôle qui terminent une ligne sous DOS et Windows), même si certains programmes n’écrivent qu’un saut de ligne. Les champs sont séparés par des virgules. Un champ peut être placé entre guillemets doubles, et doit l’être s’il contient une virgule, un guillemet double ou un saut de ligne ; un guillemet à l’intérieur d’un champ entre guillemets est doublé (""). La première ligne peut être un en-tête avec les noms des colonnes, mais rien dans le fichier ne l’indique. Et rien n’indique ce que signifient les valeurs : 00123, 1-2 et MARCH1 ne sont que du texte jusqu’à ce qu’un programme en décide autrement.
Le fichier n’indique pas non plus son encodage de caractères, c’est-à-dire la correspondance entre octets et lettres. Les anciens CSV étaient souvent écrits dans une page de codes Windows ou DOS sur un octet, adaptée à la langue de l’ordinateur ; les plus récents sont généralement en UTF-8, l’encodage Unicode sur lequel repose le web. Le programme qui lit le fichier doit deviner : c’est pourquoi la BOM compte pour Excel, et pourquoi les noms avec accents, trémas ou écritures asiatiques sont les premiers à se casser quand un CSV passe d’un système à l’autre.
2005 : la RFC 4180 met les règles par écrit
Au début des années 2000, le CSV était partout et spécifié nulle part. En octobre 2005, l’IETF (Internet Engineering Task Force, l’organisme qui élabore les normes d’Internet) publie la RFC 4180, « Common Format and MIME Type for Comma-Separated Values (CSV) Files », rédigée par Yakov Shafranovich. Son introduction est sans détour : « Étonnamment, bien que ce format soit très courant, il n’a jamais été documenté formellement. » Le mémo décrit « le format qui semble suivi par la plupart des implémentations » — sauts de ligne CRLF, ligne d’en-tête facultative, virgules, règles des guillemets doubles — et enregistre text/csv auprès de l’IANA, l’organisme qui tient la liste des types de médias, avec les paramètres facultatifs charset et header. Il note même que « certains programmes, comme Microsoft Excel, n’utilisent pas du tout de guillemets doubles ».
La RFC 4180 est une RFC informative ; elle précise qu’elle « ne définit aucune norme Internet de quelque sorte que ce soit ». Les travaux suivants se sont construits autour d’elle sans la remplacer : en 2014, la RFC 7111 a défini comment pointer une adresse web vers des lignes, colonnes ou cellules précises d’un fichier text/csv, et un groupe de travail du W3C appelé CSV on the Web, clos en 2016, a publié des recommandations pour décrire les colonnes d’un CSV — y compris leurs types — dans un fichier de métadonnées séparé. Le CSV lui-même n’en porte toujours aucune.
Quand la supposition tourne mal : gènes, dates et lignes perdues
La victime la mieux documentée est la biologie. En 2004, Barry Zeeberg et ses collègues signalent dans BMC Bioinformatics que les conversions par défaut d’Excel modifient des noms de gènes : le suppresseur de tumeur DEC1 devient « 1-DEC », et des identifiants de clones RIKEN comme 2310009E13 deviennent le nombre 2,31E+13 — des conversions qu’ils qualifient d’irréversibles. En 2016, Mark Ziemann, Yotam Eren et Assam El-Osta analysent les fichiers Excel supplémentaires de 18 revues publiés entre 2005 et 2015 et trouvent des erreurs de noms de gènes dans des fichiers de 704 articles, soit 19,6 % des articles accompagnés de listes de gènes sous Excel. En 2020, le Comité de nomenclature génique de HUGO (HGNC), qui approuve les symboles des gènes humains, publie des lignes directrices confirmant que tous les symboles convertis automatiquement en dates ont été changés, au cours de 2019 : SEPT1 est désormais SEPTIN1, MARCH1 est désormais MARCHF1.
Le CSV se trouve aussi à l’origine d’une défaillance de santé publique. Entre le 25 septembre et le 2 octobre 2020, 15 841 cas positifs de COVID-19 en Angleterre ont manqué dans les chiffres quotidiens. Public Health England (PHE) a expliqué que certains fichiers avaient dépassé la taille maximale acceptée par le processus qui chargeait les résultats dans les systèmes centraux. La BBC a rapporté que les laboratoires avaient envoyé leurs résultats sous forme de fichiers CSV sans problème, et que le processus automatique de PHE les versait dans des modèles Excel à l’ancien format XLS, limité à environ 65 000 lignes ; avec plusieurs lignes par test, chaque modèle plafonnait vers 1 400 cas, et le reste était laissé de côté.
Microsoft a fini par changer le logiciel plutôt que les réglages par défaut. En octobre 2023, l’équipe Excel annonce la disponibilité générale des paramètres de Conversion automatique des données pour Windows (version 2309 ou ultérieure) et Mac (16.77 ou ultérieure), avec des cases pour les zéros initiaux, la troncature à 15 chiffres, la lettre E et les « lettres et chiffres continus » convertis en dates, ainsi qu’un avertissement facultatif lorsqu’un fichier .csv ou .txt est sur le point d’être converti. Les conversions restent actives tant que vous ne les désactivez pas.
Gardez le CSV d’origine
Une fois qu’Excel a converti une colonne et que vous enregistrez par-dessus le fichier, le CSV contient les valeurs modifiées ; le texte d’origine ne peut plus en être récupéré. Travaillez sur une copie et conservez l’export intact à côté de ce que vous modifiez.
Pourquoi des fichiers .csv dorment encore sur les disques en 2026
Le CSV a survécu aux systèmes qui le produisaient parce qu’il était la porte de sortie. Les banques proposent leurs relevés en CSV, les anciens logiciels de comptabilité et de gestion d’adhérents exportent ainsi leurs fiches, les instruments de laboratoire et les enregistreurs de données l’écrivent, et des décennies de migrations de bases de données sont passées par lui. Beaucoup de ces fichiers sont aujourd’hui des fichiers hérités : des exports de logiciels qui ne tournent plus, écrits dans une ancienne page de codes, avec des points-virgules ou des virgules selon la configuration du PC, et remplis de codes postaux, de références de pièces et d’identifiants qu’un tableur moderne réinterprétera en silence au premier double-clic.
Legacy File Converter répertorie les valeurs séparées par des virgules (.csv) parmi les tableurs de sa page Types de fichiers pris en charge et les convertit sur votre propre PC Windows en XLSX, PDF, Markdown ou HTML — rien n’est envoyé en ligne, ce qui compte quand l’export contient des données bancaires ou des fiches d’adhérents. Vérifiez ensuite, par rapport au fichier d’origine, les colonnes comme les codes postaux, les identifiants longs et les dates. Pour d’autres façons anciennes d’échanger des données entre tableurs, voir Leçon d’histoire : Qu’est-ce qu’un fichier .dif ? et Leçon d’histoire : Qu’est-ce qu’un fichier .slk ? ; pour le classeur binaire de l’épisode COVID-19, voir Leçon d’histoire : Qu’est-ce qu’un fichier .xls ?.
À lire aussi
Prêt à ouvrir vos anciens fichiers ?
Commencez gratuitement, puis débloquez les conversions illimitées avec une licence Standard à $79.95 en paiement unique. Téléchargez le programme d'installation Windows — toutes les fonctionnalités pour jusqu'à 10 fichiers.
Essai gratuit
Toutes les fonctionnalités · jusqu'à 10 fichiers
Windows 10 ou 11
Essai gratuit — convertissez jusqu'à 10 fichiers. Téléchargez le programme d'installation Windows et convertissez en local sur votre PC.
Programme d'installation Windows direct · MSI hors ligne
Est-ce sûr ? — éditeur, programme d'installation et aide SmartScreen
Nécessite Windows 10 ou 11. Sans abonnement.