Projet

Général

Profil

[RESOLU] Format des exports CSV (et Excel)

Ajouté par Grégory MARIGOT - TEICEE il y a environ 13 ans

Le format des fichiers CSV n'est pas tout à fait standard, malgré sa simplicité...

Les principaux éléments qui le caractérisent sont :
  • un caractère servant à délimiter les valeurs des champs (ex: entre quotes doubles ou simples)
  • un mode d'échappement si un caractère délimiteur se trouve dans la valeur (ex: le précéder d'un \ ou le doubler)
  • un caractère séparant les champs (ex: virgule, tabulation, point-virgule)
Actuellement, j'ai mis par défaut les paramètres suivant sur les exports CSV :
  • délimiteur : double-quote (")
  • échappement : backslash (\)
  • séparateur : virgule (,)

Lorsqu'on souhaite importer un fichier CSV dans un tableur : certains tableur reconnaisse un ou plusieurs formats par défaut, d'autres non, certains proposent à l'utilisateur les caractères à utiliser, d'autres ne demandent rien...

Le plus simple serait de déterminer le format qui sera le mieux reconnu par les principaux tableurs (ie Excel et OpenOffice). Je sais qu'Excel est particulier, principalement sur le choix du séparateur, puisqu'il ne doit pas reconnaitre la virgule (alors que CSV signifie bien "Comma=virgule Separated Values").

Ceci dit, je ne dispose pas d'Excel... et je ne sais plus ce qu'il apprécie (point virgule, tabulation ?). Il faudrait donc faire différent tests pour déterminer la combinaison idéale, qui passerait bien au moins pour Excel et OpenOffice (à vérifier aussi avec différentes versions).


Réponses (1)

RE: Format des exports CSV (et Excel) - Ajouté par Grégory MARIGOT - TEICEE il y a environ 13 ans

J'ai finalement appris pourquoi Excel était capricieux avec les fichiers CSV !

Selon la localisation (dont la française), la virgule devient le séparateur décimal. C'est pour cette raison qu'un Excel français ne prend pas par défaut les fichiers CSV avec la virgule, mais avec un point-virgule comme séparateur de champs...
J'ai donc modifié le séparateur pour mettre le point-virgule.

J'ai testé avec OpenOffice qui a l'amabilité de m'ouvrir un assistant, je peux donc lui indiquer d'utiliser le point-virgule au lieu de la virgule. D'ailleurs je change aussi le jeu de caractère en ISO-8859, car OpenOffice tente l'UTF-8 par défaut, ce que je préfererrai... mais encore par soucis de compatibilité Windows, les CSV sont générés en ISO Latin.

En espérant que ces choix soient satisfaisant...

Note : J'ai aussi ajouté un traitement automatique sur les noms des colonnes (1ère ligne d'entêtes), afin qu'ils soient présentables et même traduits.

    (1-1/1)