129 votes

Comment faire en sorte qu'Excel interprète la virgule comme un délimiteur par défaut dans les fichiers CSV?

J'ai un certain nombre de fichiers .csv. Certains d'entre eux sont des fichiers délimités par des virgules, d'autres sont des fichiers délimités par des tabulations (peut-être devraient-ils être appelés .tsv ...)

L'extension csv est associée à Excel lorsque Excel est installé. Cependant, si j'ouvre l'un de ces fichiers avec Excel, tout est rejeté dans la même colonne et la virgule n'est pas interprétée comme un délimiteur.

Je peux au lieu de Fichier -> Importer..., sélectionner le fichier, et choisir le mode précis d'interprétation du contenu (délimiteurs, types de données, etc.) Mais la plupart du temps je veux juste regarder le fichier à travers une vue de table claire. Je ne veux pas le traiter avec Excel.

Y a-t-il un moyen de faire en sorte qu'Excel interprète automatiquement le délimiteur et affiche le fichier CSV comme un tableau approprié dès qu'il est ouvert? J'ai besoin de cela pour pouvoir utiliser Excel comme un visionneur rapide pour de tels fichiers.

Je soupçonne qu'il doit y avoir un moyen, sinon Excel ne s'associerait pas aux fichiers CSV.

0 votes

Je comprends vraiment que la réponse choisie répond à votre question, mais la deuxième devrait être mise en évidence car elle offre une solution globale, qui fonctionne pour le partage par email, réseau, etc.

137voto

user280725 Points 1459

Si vous ne souhaitez pas modifier le format du fichier, et que vous visez UNIQUEMENT Excel, vous pouvez utiliser l'astuce Excel suivante pour vous aider.

Ajoutez une nouvelle ligne en haut du fichier avec le texte "sep=," (y compris les guillemets) afin qu'Excel ouvre le fichier avec "," comme séparateur de liste.

C'est une astuce très facile pour éviter de modifier vos paramètres régionaux Windows et obtenir un résultat cohérent. Mais c'est spécifique à Excel.

2 votes

Assurez-vous de -seulement- utiliser ceci pour -regarder- le fichier, et ne pas le modifier, sinon vous pourriez rencontrer l'un des problèmes suivants: theonemanitdepartment.wordpress.com/2014/12/15/…

0 votes

Même mieux si vous devez redistribuer ce fichier à d'autres, assurez-vous qu'Excel pourra comprendre le fichier, peu importe leurs configurations. J'utilise toujours le format CSV pour pouvoir utiliser n'importe quel système de contrôle de version pour partager et collaborer sur ces fichiers, mais j'ai eu du mal avec la virgule par rapport aux point-virgules, et j'ai toujours dérangé tout le monde pour changer leurs configurations, plus maintenant. Merci beaucoup!

1 votes

Seul en haut de quoi?

107voto

trex Points 123

Lors de l'ouverture de fichiers CSV, Excel utilisera un paramètre régional système appelé Séparateur de liste pour déterminer quel délimiteur par défaut utiliser.

Microsoft Excel ouvrira les fichiers .csv, mais en fonction des paramètres régionaux du système, il peut s'attendre à un point-virgule comme séparateur au lieu d'une virgule, car dans certaines langues, la virgule est utilisée comme séparateur décimal. (de Wikipedia)


Sous Windows, vous pouvez modifier le paramètre Séparateur de liste dans les Options régionales et linguistiques telles que spécifiées sur le site de support Office :

Modifier le séparateur dans un fichier texte CSV

  1. Cliquez sur le menu Démarrer de Windows.
  2. Cliquez sur Panneau de configuration.
  3. Ouvrez la boîte de dialogue Options régionales et linguistiques.
  4. Cliquez sur l'onglet Options régionales.
  5. Cliquez sur Personnaliser / Paramètres supplémentaires (Win10).
  6. Tapez un nouveau séparateur dans la zone Séparateur de liste.
  7. Cliquez deux fois sur OK.

Remarque : cela fonctionne uniquement si le symbole décimal n'est pas également désigné comme une virgule (conformément à la citation de Wikipedia ci-dessus). Si c'est le cas, Excel n'utilisera pas la virgule comme séparateur de liste, même s'il est choisi. Dans de nombreuses régions non américaines, la virgule est le symbole décimal par défaut.

Sous Mac OS X, ce paramètre semble être déduit du réglage du séparateur décimal (dans le volet Langue et région de Préférences Système, allez dans Avancé). Si le Séparateur décimal est un point, alors le séparateur CSV par défaut sera une virgule, mais si le Séparateur décimal est une virgule, alors le séparateur CSV par défaut sera un point-virgule.

Comme vous l'avez dit vous-même dans le commentaire, il existe une solution alternative pour les utilisateurs de Mac pour rapidement visualiser ces fichiers CSV. Il s'agit d'un plugin pour Quick Look appelé quicklook-csv qui gère la détection du séparateur.

0 votes

Merci, cela a du sens. Je suppose donc que par défaut, il ne sera pas interpréter les tabulations comme délimiteurs (ce qui a également du sens car CSV signifie Comma Separated Values, mais les gens utilisent des tabulations dans les CSV en pratique et j'ai besoin de gérer cela).

0 votes

@Szabolcs Excel ne tentera pas de détecter le délimiteur lors de l'ouverture d'un fichier CSV (en utilisant file->open ou l'explorer), il utilisera simplement le paramètre système. Cependant, il parviendra à détecter automatiquement le délimiteur (tabulation, virgule, point-virgule ou espace) en utilisant la fonction import.

0 votes

J'ai fini par chercher un programme différent pour voir rapidement ces fichiers et j'ai opté pour celui-ci : code.google.com/p/quicklook-csv. Sinon, vous avez raison sur le fait qu'il ne pouvait pas gérer les virgules.

16voto

Stephen Hemingway Points 161

Vous n'avez pas besoin des guillemets autour de sep=, - tant que c'est la première ligne du fichier, cela fonctionnera, du moins avec Excel 2016.

J'ai découvert que si le fichier est tabulé, sep=\t fonctionne bien, avec ou sans les guillemets.

0 votes

Est-il possible de configurer Excel ou un meilleur format afin que le hack soit directement supprimé au chargement?

10voto

Sam B Points 407

La réponse acceptée est correcte mais je suis plutôt visuel. Voici chaque étape en format capture d'écran de comment faire ceci sous Windows 10.

entrer la description de l'image ici entrer la description de l'image ici entrer la description de l'image ici entrer la description de l'image ici entrer la description de l'image ici entrer la description de l'image ici

3 votes

Très utile! N'oubliez simplement pas (comme mentionné quelque part ci-dessus) que Séparateur de liste sera ignoré si le même symbole est utilisé pour Symbole décimal. Vous trouverez souvent , comme symbole décimal, donc assurez-vous de le changer pour quelque chose d'autre (par exemple .) lorsque vous définissez le Séparateur de liste sur ,.

3voto

Eric VDB Points 31

Lorsque le séparateur dans les paramètres régionaux n'est pas une virgule mais un point-virgule (séparateur néerlandais), renommez le fichier CSV en un fichier TXT. Cliquez avec le bouton droit sur le fichier TXT, puis sélectionnez "Ouvrir avec" et choisissez "Excel". Dans Excel, sélectionnez la première colonne, sélectionnez les données dans le ruban et séparez le texte en colonnes.

OU

Installez LibreOffice et ouvrez le fichier CSV avec LibreOffice Calc.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X