Formateur CSV

Formatez et normalisez des données CSV avec des options de délimiteurs personnalisés

Essayer un exemple

Entrée CSV

CSV formaté

Fonctionne localement · Sûr pour coller des secrets
Le CSV formaté apparaîtra ici…
Délimiteur de sortie :

Qu'est-ce que le formatage CSV ?

Le formatage CSV (Comma-Separated Values) est le processus de normalisation d'un texte tabulaire brut afin que les délimiteurs, les guillemets, les espaces et les fins de ligne suivent un ensemble de règles cohérent. RFC 4180, publié en 2005, définit la norme CSV la plus largement adoptée : champs séparés par des virgules, enregistrements terminés par CRLF, et tout champ contenant une virgule, un guillemet double ou un saut de ligne placé entre guillemets doubles. Un formateur CSV prend des données CSV désordonnées ou incohérentes et les réécrit pour correspondre à ces conventions.

Dans la pratique, les fichiers CSV arrivent rarement dans un état propre. Les exports de tableurs depuis Excel, Google Sheets et les utilitaires de vidage de base de données appliquent chacun des stratégies de guillemets différentes, gèrent les espaces différemment et peuvent utiliser des points-virgules ou des tabulations au lieu de virgules. Lorsque vous soumettez ces fichiers à un analyseur qui attend une entrée strictement conforme à RFC 4180, le résultat est souvent des lignes cassées, des colonnes décalées ou une perte silencieuse de données. Formater avant de traiter détecte ces problèmes tôt.

Un formateur CSV diffère d'un convertisseur CSV. Le formatage conserve les données en CSV. Il normalise les guillemets, supprime les espaces parasites, réaligne les colonnes et permet éventuellement de changer le délimiteur. La conversion modifie entièrement le format, produisant une sortie JSON, HTML, SQL ou Markdown.

Pourquoi utiliser ce formateur CSV ?

Cet outil analyse et resérialise votre CSV entièrement dans le navigateur. Vos données ne quittent jamais votre machine.

Formatage instantané
Collez du CSV et voyez immédiatement le résultat nettoyé. Le formateur analyse et resérialise dans le navigateur au fur et à mesure que vous tapez.
🔒
Traitement axé sur la confidentialité
Toute l'analyse et le formatage se déroulent dans votre onglet de navigateur. Aucune donnée n'est transmise sur le réseau. Adapté aux jeux de données propriétaires, aux identifiants et aux données personnelles (PII) qui ne doivent pas quitter votre machine.
🔧
Délimiteurs configurables
Passez d'un délimiteur à l'autre : virgule, tabulation, point-virgule et pipe. L'outil détecte automatiquement le délimiteur d'entrée et vous permet d'en choisir un autre pour la sortie, ce qui simplifie la normalisation entre formats.
📋
Copie et téléchargement en un clic
Copiez le CSV formaté dans votre presse-papiers ou téléchargez-le sous forme de fichier. Prêt à être importé dans des bases de données, des tableurs ou des pipelines de données sans modification supplémentaire.

Cas d'utilisation du formateur CSV

Développement frontend
Nettoyez les fichiers de fixtures CSV utilisés comme données fictives dans les composants React ou Vue. Des guillemets cohérents évitent les échecs d'analyse lors des builds de développement.
Ingestion de données backend
Normalisez les exports CSV d'API tierces avant de les introduire dans votre pipeline ETL. La suppression des espaces et la standardisation des délimiteurs préviennent les décalages de colonnes.
DevOps et CI/CD
Formatez les fichiers de configuration CSV ou les données d'amorçage versionnés dans le contrôle de code source. Un formatage cohérent réduit le bruit dans les diffs et accélère les revues de code.
QA et tests
Préparez des fixtures de test CSV avec des schémas de guillemets et de délimiteurs connus. Des fichiers d'entrée reproductibles facilitent l'écriture d'assertions sur la sortie de l'analyseur.
Ingénierie des données
Prétraitez les exports CSV de bases de données héritées avant de les charger dans des entrepôts de données modernes. La correction des problèmes de guillemets et des incompatibilités de délimiteurs vous fait gagner des heures de débogage.
Apprentissage et formation
Expérimentez les règles de guillemets RFC 4180 en collant différentes entrées et en observant comment le formateur les normalise. Une façon pratique de comprendre les cas limites CSV.

Règles de guillemets et d'échappement CSV (RFC 4180)

RFC 4180 définit des règles précises sur quand et comment les champs doivent être mis entre guillemets. Les six scénarios ci-dessous couvrent les cas où le comportement des guillemets a de l'importance.

ScénarioExempleRègle
Field contains delimitername,"Smith, Jr."Wrap in double quotes
Field contains newline"line1\nline2"Wrap in double quotes
Field contains double quote"She said ""hello"""Double the quote character
Field is empty,,Two consecutive delimiters
Field has leading spaces" value"Quotes preserve whitespace
Field is numeric42No quotes required unless forced

Comparaison des délimiteurs CSV

Le choix du délimiteur affecte la compatibilité, la lisibilité et la fréquence à laquelle vous aurez besoin de champs entre guillemets.

Virgule (,)
La valeur par défaut de RFC 4180. Prise en charge par tous les analyseurs CSV et tableurs. Nécessite des guillemets lorsque les valeurs de champs contiennent des virgules, ce qui est courant dans les données d'adresse et de texte.
Tabulation (\t)
Utilisée dans les fichiers TSV (Tab-Separated Values). Les caractères de tabulation apparaissent rarement dans les données de champs, les guillemets sont donc rarement nécessaires. Courant en bioinformatique et dans les exports de bases de données.
Point-virgule (;)
Standard dans les exports CSV de locale européenne (Allemagne, France, Brésil) où la virgule est utilisée comme séparateur décimal. Excel utilise des points-virgules lorsque la locale système utilise la virgule comme séparateur décimal.
Pipe (|)
Rare dans le texte naturel, ce qui en fait un bon choix pour les données désordonnées où des virgules et des points-virgules apparaissent dans les valeurs de champs. Courant dans les exports de systèmes mainframe et hérités.

Exemples de code

Ces exemples montrent comment analyser du CSV désordonné et le resérialiser avec un formatage cohérent dans différents langages. Chaque extrait gère la suppression des espaces, la normalisation des délimiteurs et les guillemets.

JavaScript (Node.js)
import { parse, unparse } from 'papaparse'

const messy = `name, age ,city
Alice , 30, Berlin
Bob,25 , " Tokyo "`

// Parse with trimming, then re-serialize with consistent formatting
const parsed = parse(messy, {
  header: true,
  skipEmptyLines: true,
  transformHeader: h => h.trim(),
  transform: v => v.trim(),
})

const clean = unparse(parsed.data, { quotes: true })
console.log(clean)
// → "name","age","city"
// → "Alice","30","Berlin"
// → "Bob","25","Tokyo"
Python
import csv
import io

messy = """name, age ,city
Alice , 30, Berlin
Bob,25 , " Tokyo " """

reader = csv.DictReader(io.StringIO(messy), skipinitialspace=True)
output = io.StringIO()
writer = csv.DictWriter(
    output,
    fieldnames=[f.strip() for f in reader.fieldnames],
    quoting=csv.QUOTE_ALL,
)
writer.writeheader()
for row in reader:
    writer.writerow({k.strip(): v.strip() for k, v in row.items()})

print(output.getvalue())
# → "name","age","city"
# → "Alice","30","Berlin"
# → "Bob","25","Tokyo"
Go
package main

import (
	"encoding/csv"
	"fmt"
	"strings"
)

func main() {
	input := "name,age,city\nAlice,30,Berlin\nBob,25,Tokyo"
	r := csv.NewReader(strings.NewReader(input))
	records, _ := r.ReadAll()

	var buf strings.Builder
	w := csv.NewWriter(&buf)
	w.UseCRLF = true // RFC 4180 line endings
	for _, record := range records {
		_ = w.Write(record)
	}
	w.Flush()
	fmt.Print(buf.String())
	// → name,age,city\r\n
	// → Alice,30,Berlin\r\n
	// → Bob,25,Tokyo\r\n
}
CLI (csvformat from csvkit)
# Re-format a CSV file with csvkit (Python-based)
csvformat -D ";" input.csv > output.csv

# Convert tabs to commas
csvformat -t input.tsv > output.csv

# Force-quote all fields
csvformat -U 1 input.csv > quoted.csv

# Using Miller (mlr) to normalize
mlr --icsv --ocsv --quote-all cat input.csv > clean.csv

Foire aux questions

Que fait un formateur CSV ?
Un formateur CSV analyse le texte CSV brut, normalise les guillemets autour des champs, supprime les espaces superflus et resérialise les données avec un délimiteur et un style de fin de ligne cohérents. Le résultat est un fichier CSV propre conforme à RFC 4180 ou aux règles de formatage que vous avez choisies.
En quoi le formatage CSV diffère-t-il de la validation CSV ?
La validation vérifie si un fichier CSV est conforme à un ensemble de règles et signale les erreurs. Le formatage va plus loin : il réécrit le fichier pour corriger ces problèmes. Un validateur vous indique que la ligne 5 contient une virgule non délimitée par des guillemets. Un formateur corrige cela en ajoutant des guillemets autour du champ.
Pourquoi dois-je formater les fichiers CSV avant de les importer ?
Les outils d'import de bases de données, les pipelines ETL et les tableurs ont chacun des règles d'analyse CSV légèrement différentes. Un champ non délimité contenant une virgule sera divisé en deux colonnes par les analyseurs stricts. Formater votre CSV selon RFC 4180 avant l'import prévient ces erreurs de décalage de colonnes et la corruption silencieuse des données.
Mes données sont-elles envoyées à un serveur lors de l'utilisation de cet outil ?
Non. Toute l'analyse et le formatage se déroulent dans votre navigateur en JavaScript. Vos données CSV restent sur votre machine et ne sont jamais transmises sur le réseau. Vous pouvez le vérifier en ouvrant l'onglet Réseau de votre navigateur pendant l'utilisation de l'outil.
Puis-je changer le délimiteur lors du formatage ?
Oui. L'outil détecte automatiquement le délimiteur d'entrée (virgule, tabulation, point-virgule ou pipe) et vous permet d'en sélectionner un autre pour la sortie. C'est utile pour convertir entre des formats CSV régionaux ou pour passer de TSV au CSV standard.
Comment l'outil gère-t-il les champs entre guillemets contenant des sauts de ligne ?
Conformément à RFC 4180, les champs contenant des sauts de ligne doivent être entourés de guillemets doubles. Le formateur préserve ces sauts de ligne intégrés et s'assure que les guillemets environnants sont présents. Si un champ comporte un saut de ligne non délimité dans l'entrée, le formateur l'entoure de guillemets lors de la resérialisation.
Quelle est la taille maximale de fichier que cet outil peut traiter ?
Comme l'outil fonctionne dans votre navigateur, la limite pratique dépend de la mémoire disponible sur votre appareil. Les fichiers jusqu'à 10-20 Mo se traitent généralement sans problème sur les machines modernes. Pour les fichiers plus volumineux, un outil en ligne de commande comme csvkit ou Miller est une meilleure option.