Comment afficher correctement les fichiers .csv dans Excel 2013?

190

Il semble qu'Excel 2013 ne lit pas correctement les fichiers CSV (Excel 2010 le fait). Chaque fois que j'ouvre des fichiers .csv, toutes mes données sont affichées dans la première colonne.

Je sais que je peux aller à DATA, Convertet ensuite choisir commas, mais cette configuration n'est pas enregistrée, et j'en ai marre de le faire chaque fois que j'ouvre ce genre de fichier.

Comment puis-je configurer Excel 2013, une fois pour toutes, pour afficher joliment les fichiers CSV (séparés par des virgules)?

David
la source
1
Lorsque vous ouvrez le fichier, un message apparaît-il?
Andre Silva
Non. Aucun message n'apparaît
David
Mon expérience est que si le fichier a une ligne d'en-tête, Excel 2013 passera automatiquement par l'assistant d'importation. Sans cette ligne d'en-tête, il affiche tout comme une seule colonne par ligne.
StarPilot

Réponses:

401

Ouvrez le fichier CSV avec un éditeur de texte décent comme Notepad ++ et ajoutez le texte suivant dans la première ligne:

sep=,

Maintenant, ouvrez-le à nouveau avec Excel.

Cela définira le séparateur comme une virgule, ou vous pouvez le changer en ce dont vous avez besoin.

Guilherme Viebig
la source
3
Meilleure solution, mais pas celle que j'attendais. Ce paramètre ne provient pas d'Excel lui-même, cela signifie que je dois écrire cette ligne ci-dessus sur tout mon fichier CSV.
David
31
Le fait que ce ne soit pas standard, aucune application qui écrit des CSV n'ajoute cette ligne, et seul Excel (pour autant que je sache) l'accepte. En fait une solution au mieux médiocre. Sans oublier que cela ne fonctionne pas pour Excel 2007 (le meilleur que nous ayons ici au travail)
jmarkmurphy
21
Nous ne parlons pas de normes. Nous parlons de Microsoft Excel. Excel est livré avec différentes configurations et raccourcis clavier en fonction de la langue. Cela rend l'importation d'un fichier CSV un casse-tête. C'est simplement une solution de contournement, et je pense que cela aide beaucoup de gens, principalement des utilisateurs expérimentés, mais ce n'est pas la meilleure réponse.
Guilherme Viebig
10
Besoin d'une solution qui n'implique pas l'ajout de lignes au fichier, car cela casse d'autres choses qui doivent utiliser le fichier. En outre, déjà essayé la solution des paramètres régionaux, mais les paramètres étaient déjà comme indiqué et Excel met toujours tout dans la première colonne.
Elliot
2
Cela montre la ligne si vous ouvrez le csv dans Libreoffice Calc. Fonctionne bien dans MS Excel cependant.
Arda
93

Pour Excel 2013:

  1. Ouvrez le classeur vierge.
  2. Allez dans l' onglet DONNÉES .
  3. Cliquez sur le bouton À partir du texte dans la section Données externes générales .
  4. Sélectionnez votre fichier CSV.
  5. Suivez l' assistant d'importation de texte . (à l'étape 2, sélectionnez le délimiteur de votre texte)

http://blogmines.com/blog/how-to-import-text-file-in-excel-2013/

marcosbernal
la source
38

Le problème vient des options régionales. Le séparateur décimal dans win 7 pour les pays européens est le coma. Vous devez ouvrir le Panneau de configuration -> Options régionales et linguistiques -> Paramètres supplémentaires -> Séparateur décimal: cliquez pour entrer un point (.) Et pour List Separator, entrez une virgule (,). C'est !

skander
la source
5
Cela ne fonctionne pas. J'ai cet ensemble comme indiqué et il est ignoré. Tout est jusque dans la première colonne.
Elliot
1
Incroyable - cela a juste aidé une collègue qui utilisait Office 2011. Nous avons défini sa région de Pologne (qui utilise "," comme séparateur décimal) au Royaume-Uni et cela a résolu le problème. Pourquoi cela devrait faire une différence, je n'ai aucune idée ...
John
3
Cette solution fonctionne pour moi (Excel 2013). J'ajuste mon format régional: je mets un point (.) Comme "séparateur décimal", une virgule (,) comme "séparateur de mille" et une virgule (,) comme "séparateur de liste"
cesargastonec
1
J'utilise le format par défaut "Anglais (Canada)" de Windows 10 qui affiche normalement correctement le fichier CSV (colonne séparée) lors de l'ouverture du fichier à l'aide d'Excel 2013-2016. Récemment, j'ai remarqué, après avoir rouvert un fichier CSV, qu'une de mes applications changeait le format de numérotation par défaut. Comme spécifié ici, après être revenu au point (.) Comme "séparateur décimal" et à la virgule (,) comme format de numérotation "séparateur de liste", le fichier CSV s'affichait correctement. Il n'est pas nécessaire de recourir à une solution de contournement sophistiquée impliquant le piratage de la première ligne du fichier CSV avec le bloc-notes afin d'ajouter "sep =,"
JP slash otterlover
1
Finalement! Après avoir essayé pendant plusieurs minutes plus que je ne le devrais de remplacer par regex dans Notepad ++ le séparateur, le point décimal / virgule et non les caractères entre guillemets, etc., cette réponse m'a rappelé et j'ai simplement défini mes paramètres de langue différemment, comme indiqué ici. Maintenant, il sépare correctement les colonnes et les nombres apparaissent également correctement, sans gâcher le texte.
Fabian Röling
25

Je sais qu'une réponse a déjà été acceptée, mais un élément à vérifier est l'encodage du fichier CSV. J'ai un script Powershell qui génère des fichiers CSV. Par défaut, il les encodait comme UCS-2 Little Endian (par Notepad ++). Cela ouvrirait le fichier dans une seule colonne dans Excel et je devrais faire la conversion du texte en colonnes pour diviser les colonnes. Changer le script pour encoder la même sortie que "ASCII" ( UTF-8 sans nomenclature par Notepad ++) m'a permis d'ouvrir le CSV directement avec les colonnes séparées. Vous pouvez également modifier le codage du CSV dans Notepad ++ .

  • Codage du menu > Convertir en UTF-8 sans nomenclature
  • Enregistrez le fichier CSV
  • Ouvrir dans Excel, les colonnes doivent être divisées
Shayne Ephraim
la source
3
J'apprécie cette réponse. J'aime utiliser Some-Command | Out-File -Encoding Defaultce qui donne généralement un encodage ANSI correct (au moins par défaut aux USA).
Mister_Tom
Donc, si vous ne spécifiez pas l'encodage, Out-Fileencode le fichier autrement que Defaultpar défaut? J'essaie de comprendre que ... c'est par défaut ... mais pas utilisé par défaut ... et donc pas par défaut?
jdgregson
L'utilisation de "-Encoding Default" l'a corrigé pour moi. Merci!
Kirk Liemohn
21

Vous pouvez choisir le séparateur que vous voulez dans Excel 2013 Allez dans DONNÉES -> Texte en colonnes -> Choisissez délimité -> puis choisissez votre séparateur «Tab, point-virgule, virgule, espace ou autre» et vous verrez immédiatement les changements dans l'aperçu des données "puis cliquez sur Terminer

Une fois que vous avez le format souhaité, il vous suffit d'enregistrer le document et il sera permanent.

user3241007
la source
2
Cela ne répond pas à la question principale. Nous avons besoin que ce soit le comportement par défaut pour un tel fichier, pas pour le corriger dans un fichier spécifique.
Elliot
17

Tiré de /superuser/238944/how-to-force-excel-to-open-csv-files-with-data-arranged-in-columns

Le comportement d'Excel lors de l'ouverture de fichiers CSV dépend fortement de vos paramètres locaux et du séparateur de liste sélectionné sous Région et langue » Formats » Avancé . Par défaut, Excel supposera que chaque CSV a été enregistré avec ce séparateur. Ce qui est vrai tant que le CSV ne vient pas d'un autre pays!

Si vos clients sont dans d'autres pays, ils peuvent voir d'autres résultats que vous pensez.

Par exemple, vous voyez ici qu'un Excel allemand utilisera un point-virgule au lieu d'une virgule comme aux États-Unis

Paramètres régionaux

cdmdotnet
la source
> Cette solution me convient (excel 2013). J'ajuste mon format régional: je mets un point (.) Comme "séparateur décimal", une virgule (,) comme "séparateur de mille" et une virgule (,) comme "séparateur de liste" - cesargastonec 13 juillet 15 à 16: 05
Alex78191
1
Ou vous pouvez changer le séparateur décimal dans les options Excel superuser.com/a/1470373
Alex78191
4

Un autre problème possible est que le fichier csv contient une marque d'ordre d'octet "FEFF". La marque d'ordre d'octet est destinée à détecter si le fichier a été déplacé d'un système utilisant un ordre d'octets big endian ou little endian vers un système de type endianisme opposé. https://en.wikipedia.org/wiki/Byte_order_mark

La suppression de la marque d'ordre d'octet «FEFF» à l'aide d'un éditeur hexadécimal doit permettre à Excel de lire le fichier.

Devon Holcombe
la source