Pourquoi la ligne 4 est l’enregistrement 3

RFC 4180 est un document Informational décrivant les retours dans les champs entre guillemets. Ici, first et second sont deux lignes d’une cellule. Le retour visuel dû à la largeur d’écran diffère d’un véritable retour dans l’entrée.

id,note
001,"first
second"
002,ok,extra

L’entrée compte 4 lignes physiques et 3 enregistrements avec l’en-tête. Moyoutil a signalé 2 colonnes attendues et 3 présentes dans le dernier enregistrement : ligne 4, enregistrement 3. Le retour dans la cellule ne crée pas un autre enregistrement.

Schéma comparant quatre lignes physiques CSV à trois enregistrements colorés
Schéma original. Les numéros de gauche indiquent les lignes physiques ; ceux de droite les enregistrements, en-tête compris. Les deux lignes centrales constituent un enregistrement. La dernière contient l’erreur de colonnes.

RFC 4180, section 2

Vérifier les colonnes et les valeurs d’origine

Remplacez la dernière ligne par 002,ok uniquement si extra a été ajouté par erreur. Si cette valeur est réelle, conservez-la et définissez la structure de l’en-tête et des autres enregistrements. Selon cette hypothèse, la correction produit 2 lignes de données et 2 colonnes, en conservant le retour réel dans note et la chaîne 001 dans id.

[
  {"id":"001","note":"first\nsecond"},
  {"id":"002","note":"ok"}
]

Utilisez le bouton de localisation de l’erreur, vérifiez l’entrée et relancez la conversion. Un guillemet non fermé peut provoquer une erreur située au guillemet ouvrant. Un retour final diffère de l’ajout d’un enregistrement vide. Gardez l’original et vérifiez le séparateur.

Questions fréquemment posées

Faut-il supprimer tous les retours à la ligne ?

Non. Un retour peut faire partie d’une valeur. Ici, préservez celui de la cellule et corrigez les colonnes du dernier enregistrement. D’autres programmes CSV peuvent utiliser des positions ou des dialectes différents.