Convertir un fichier CSV en XML

Fonctionne sur votre appareil · Votre fichier ne quitte jamais votre appareil.

Déposez un CSV ou collez-le, et obtenez un document XML avec un élément <root>, un élément <item> par ligne et un élément enfant par colonne, nommé d’après l’en-tête. Le séparateur est détecté automatiquement (virgule, point-virgule, tabulation, barre verticale), les champs entre guillemets sont traités selon la RFC 4180, et un BOM UTF-8 est retiré.

Les noms de colonnes que XML ne peut pas utiliser comme noms d’éléments – avec des espaces, des symboles ou un chiffre en tête – sont assainis avec des tirets bas (« Prix unitaire » devient Prix_unitaire), pour que la sortie soit toujours bien formée. Les valeurs sont écrites en texte dans les éléments ; il n’y a pas d’attributs, ce qui garde le document simple pour n’importe quel analyseur.

Vous voyez les 200 premières lignes avant de télécharger, et la conversion se fait entièrement sur votre appareil.

Comment Convertir un fichier CSV en XML

  1. Déposez un fichier CSV, ou collez le texte CSV.
  2. Laissez le séparateur en automatique, ou choisissez-le.
  3. Cliquez sur « Convertir en XML » et vérifiez l’aperçu.
  4. Téléchargez le .xml.

Formats pris en charge et limites

Entrée
CSV / TSV – fichier ou texte collé
Sortie
XML 1.0, UTF-8, <root><item>…</item></root>
Analyse
RFC 4180 ; séparateur détecté automatiquement
Noms
En-têtes assainis en noms d’éléments valides
Où ça tourne
Dans votre navigateur – rien n’est envoyé

Ne convient pas pour : Produire un XML conforme à un schéma précis (format bancaire, fiscal ou e-commerce) – les noms d’éléments viennent de vos en-têtes, pas d’un schéma.

Les valeurs sont écrites exactement comme dans le CSV

XML garde toute valeur sous forme de texte : il n’y a rien à gagner à lire des nombres ou des true et false, et cette page ne le propose pas. Chaque valeur est écrite telle qu’elle figure dans le CSV : 1.50 reste 1.50, 1e3 reste 1e3, TRUE reste TRUE et le mot NULL reste NULL. Une cellule vide donne un élément vide, comme <note/>, et les zéros de tête, comme dans 007, sont gardés.

Comment les noms d’en-tête deviennent des noms d’éléments

Les en-têtes en double ou vides sont d’abord corrigés : deux colonnes appelées nom deviennent <nom> et <nom_2>, et un troisième en-tête vide devient <column_3>. Ensuite, chaque nom est rendu valide pour XML. Total (EUR) devient Total__EUR_, car les espaces et les parenthèses se changent en tirets bas, et 1re devient _1re. Le trait d’union et le point sont admis : e-mail reste e-mail, et adresse.ville reste un seul élément portant ce nom ; il n’est pas découpé en éléments imbriqués. Les en-têtes écrits dans n’importe quelle écriture, arabe ou chinoise par exemple, sont gardés tels quels.

Deux en-têtes qui aboutissent au même nom, comme "a b" et "a_b", sont tous deux écrits <a_b> dans chaque <item>. Un programme qui lit les éléments par leur nom risque alors de ne voir que le premier : renommez d’abord l’un des deux dans le CSV.

Comment le CSV est lu

Le texte est lu selon les mêmes règles que sur /csv-to-json, qui les explique avec des exemples : le fonctionnement des guillemets, la détection du séparateur, la reconnaissance de l’encodage du fichier, et le sort d’une ligne qui a plus ou moins de cellules que l’en-tête. Dans le XML, une cellule manquante devient un élément vide. Les cellules au-delà du dernier en-tête n’ont pas de nom d’élément : elles sont laissées de côté, et un message indique combien de lignes en avaient et où se trouve la première.

Les noms <root> et <item> sont fixes. Si un système attend d’autres noms, comme <clients> et <client>, remplacez-les dans un éditeur de texte après le téléchargement ; rien d’autre dans la structure n’a besoin de changer.

Questions fréquentes

Mes fichiers sont-ils envoyés sur un serveur ?
Non. La conversion se fait entièrement dans votre navigateur, avec la puissance de votre propre appareil. Le fichier ne quitte pas votre ordinateur ni votre téléphone. Et une fois qu’un outil a servi une première fois, il continue de fonctionner sans connexion (la vidéo, la reconnaissance de texte et la suppression d’arrière-plan téléchargent leur moteur depuis ce site la première fois).
À quoi ressemble la structure XML ?
Une déclaration XML, puis <root>, puis pour chaque ligne un <item> qui contient un élément par colonne : <item><nom>Karim</nom><ville>Lille</ville></item>. L’élément de ligne s’appelle toujours item.
Mes en-têtes contiennent des espaces – est-ce un problème ?
Non. Les noms sont assainis selon ce que XML autorise : les espaces et symboles deviennent des tirets bas, et un chiffre en tête reçoit un tiret bas devant. Le reste du nom ne change pas.
Le séparateur est-il détecté ?
Oui – virgule, point-virgule, tabulation et barre verticale sont essayés sur les premières lignes, et le plus cohérent l’emporte. Vous pouvez aussi le choisir explicitement.

Outils associés

Plus dans Tableurs et données

Cette page dans d’autres langues: English · العربية · Deutsch · Español · Русский · Português · 中文 · हिन्दी · Türkçe · עברית · فارسی · اردو · Bahasa Indonesia · বাংলা