Meilleure façon d'ouvrir CSV avec des virgules dans Excel

196

Les fichiers CSV sont automatiquement associés à Excel, mais lorsque je les ouvre, toutes les lignes se trouvent dans la première colonne, comme ceci:

entrez la description de l'image ici

C'est probablement parce que quand Excel pense "valeurs séparées par des virgules", il recherche en fait un autre délimiteur (je pense que c'est un point-virgule mais ce n'est pas important).

Maintenant, quand j’ai déjà ouvert ce fichier dans Excel, y at-il un bouton ou quelque chose qui l’indique "rouvre ce fichier et utilise une virgule comme séparateur"?

Je sais que je peux importer les données dans une nouvelle feuille de calcul etc. fichier d'origine.

Borek Bernard
la source
2
Pour un certain nombre de raisons, au-delà du délimiteur, il est très déconseillé de laisser Excel ouvrir le fichier CSV (ou tout autre fichier en texte brut) avec les paramètres par défaut. Selon votre fichier source, vous allez corrompre vos données. J'ai écrit un article approfondi sur ce sujet ici: theonemanitdepartment.wordpress.com/2014/12/15/…
Wouter
4
Il est si difficile de comprendre ce qui doit se passer à l'intérieur de Microsoft qu'Excel ne peut toujours pas ouvrir les fichiers CSV de cette façon. Il divise également les chiffres, etc. de manière étonnante. Même JavaScript ne convertit pas implicitement si mal.
Usr le
Désolé de creuser la tombe .. mais il y a de fortes chances que votre première ligne ne comporte pas de virgule; Excel
cesse
Il suffit d'utiliser ;comme délimiteur et un fichier d'ouverture double-cliqué le séparera en colonnes dans MS Excel.
Hrvoje T

Réponses:

179

Accédez à l' onglet Données et sélectionnez le texte des colonnes sous Outils de données, puis sélectionnez délimité et cliquez sur Suivant . Ensuite, sélectionnez la virgule comme séparateur et cliquez sur terminer

entrez la description de l'image ici

Raystafarian
la source
55
Et vous devez le faire à chaque fois après avoir double-cliqué sur * .csv dans l'Explorateur Windows? Je n'arrive pas à croire qu'il n'existe pas de moyen plus simple, surtout si Excel s'associe à l'extension de fichier * .csv.
Borek Bernard
3
Habituellement, un assistant devrait s'ouvrir, ce qui vous oblige à suivre ce processus lorsque vous ouvrez le fichier, mais si ce n'est pas le cas, vous pouvez le faire de cette façon. Vous pouvez également accéder aux données - obtenir des données externes - à partir de texte et exécuter l'assistant d'importation à partir de là.
Raystafarian
13
C'est le problème, je ne veux pas importer de données, j'ouvre un fichier CSV parfaitement valide auquel Excel s'est même associé. Mais bon, si c'est comme ça, il me faudra probablement trouver autre chose pour éditer les fichiers CSV.
Borek Bernard
2
Oui, c'est un PITA, idem ici avec Excel 2003. Je dois aussi utiliser Data \ Import. Ce n'est pas vraiment un problème en soi, mais je ne fais ces importations que deux fois par an, donc j'oublie régulièrement d'essayer File / Open en premier ;-(
Jan Doggen le
1
@ gstackoverflow vous pouvez simplement sélectionner la colonne A puis faire ceci.
Tom
162

Placement:

sep=<delimeter>

car la première ligne de votre fichier csv indiquera automatiquement à Excel d’utiliser ce caractère comme séparateur au lieu de la virgule par défaut.

Par exemple:

sep=|
COLUMN1|COLUMN2
data,1|data2
...

le tuyau (|) sera utilisé comme délimiteur à la place de la virgule, sans que l'utilisateur n'ait à exécuter d'abord l'assistant d'importation.

Krivda
la source
7
Pour que cela fonctionne dans Excel 2013, vous devez décocher Use system separators dansOptions>Advanced
Michael Field
1
Pouvez-vous définir le séparateur décimal de la même manière? Je veux que ce soit ., par exemple, 1.5mais dans mon système, il .existe un séparateur pour des milliers de personnes.
CGFoX
2
Cela a fonctionné pour moi, même si j'ai coché la case "Utiliser les séparateurs de système". Aucune autre solution n'a fonctionné pour moi.
respect
Confirmation que cela fonctionne dans Excel 2016 avec la case "Utiliser les séparateurs système" cochée. C'est bien.
Bas
Solution parfaite à un problème stupide! (Excel devrait pouvoir reconnaître le séparateur utilisé, ou du moins me le demander, et me laisser décider!) Ensuite, est-il possible de forcer Excel à utiliser également un autre jeu de caractères ? Tous mes fichiers CSV sont au format UTF-8, mais Excel essaie de les ouvrir en tant que "Macintosh", ce qui me pose beaucoup de problèmes!
qualbeen
51

Je ne sais pas si vous avez réussi à résoudre ce problème, mais j'ai également eu le même problème et je l'ai réglé après quelques enquêtes.

Il s’avère que c’était un problème de cadre régional

Allez dans votre panneau de contrôle -> Paramètres régionaux -> Paramètres avancés et remplacez votre séparateur de liste par une virgule .

Le mien était réglé sur le point-virgule pour l'Afrique du Sud après le passage à Windows 8. Après l'avoir modifiée en virgule, tous mes CSV s'ouvraient correctement avec Excel 2013.

J'espère que cela t'aides.

Commentaire supplémentaire:
J'ai suivi les mêmes étapes que Lèse majesté, mais j'ai aussi changé le symbole décimal d'une virgule (,) en un point final (.) Et cela a résolu mon problème.

En effet, par défaut, Windows 8 utilise une virgule en tant que symbole décimal et Excel devient confus lorsqu'il doit utiliser à la fois les caractères séparateurs et le symbole décimal.

Maxwell Maake
la source
Déjà réglé comme ça, et ignoré par Excel. Ne sépare toujours pas les virgules.
Elliot
Il faut probablement au moins une fermeture de session pour que la connexion prenne effet.
Gert van den Berg
Travaillé pour moi après avoir changé le symbole décimal, merci!
James Cameron
1
Eh bien, je pense toujours qu’il est plus étrange que Excel utilise des paramètres régionaux pour savoir comment lire un format de fichier!
respect
Merci. Ce paramètre a résolu un énorme problème pour moi au travail. Excel est tellement stupide!
Moha
19

C'est ce qui a fonctionné pour moi - c'est une combinaison de certaines des réponses ici.

(Remarque: mon ordinateur utilise des paramètres de format tchèques qui mettent en forme des nombres tels que: par 1 000,00exemple, la virgule est utilisée comme séparateur décimal et l’espace comme séparateur de milliers. Le séparateur de liste par défaut dans les paramètres système est ;.)

  1. J'ai changé le séparateur de liste système en virgule dans Région -> Paramètres supplémentaires
  2. Dans Excel 2013, je suis allé dans Options -> Avancé et non coché. Utilisez des séparateurs système (sous "Options d'édition", qui constitue la première section).
  3. J'ai mis le séparateur décimal dans Excel sur. et le séparateur de milliers sur ,(le séparateur de milliers n'a probablement pas d'importance, mais je voulais le rendre cohérent avec le formatage américain).

Une alternative aux étapes 2 + 3 serait de modifier ces paramètres dans les paramètres système (étape 1), mais je souhaite généralement que les nombres soient formatés en fonction des paramètres régionaux tchèques.

Inconvénients : dans Excel, je dois maintenant entrer des nombres décimaux en utilisant les paramètres régionaux américains, c'est-à-dire en utilisant le point au lieu d'une virgule. Cela ne semble pas naturel, mais c'est un compromis acceptable pour moi. Heureusement, la touche virgule de mon pavé numérique s'est automatiquement tournée vers la touche de point (et uniquement dans Excel - d'autres applications produisent toujours une virgule).

Borek Bernard
la source
Cela ne fonctionne pas avec Excel 2010 / cz :-(
Leos Literak
@LeosLiterak: Je viens de l'essayer dans Excel 2013 cependant, et cela a fonctionné.
Sk8erPeter
10

Apparemment, Excel utilise un paramètre régional Windows 7 pour le délimiteur par défaut pour les CSV (qui est apparemment un onglet par défaut). Vous pouvez modifier ce paramètre comme suit .

Cependant, je ne sais pas quelles autres conséquences cela aura. Je suppose que si tous les fichiers CSV de votre ordinateur sont séparés par des virgules, il ne devrait y avoir aucun problème. Mais si vous avez un autre programme (probablement Microsoft) qui utilise également des fichiers CSV et utilise normalement des fichiers CSV formatés avec un délimiteur différent, cela pourrait alors être problématique.

Par exemple, si Outlook utilise des CSV séparés par des tabulations pour importer / exporter des contacts, et que vous recevez ces CSV provenant d’une source externe (Gmail, un autre ordinateur, etc.), la modification de ce paramètre à l’échelle du système pourrait empêcher Outlook de s’ouvrir. ces CSV séparés par des tabulations.

Lèse majesté
la source
3
J'ai essayé de modifier mes "paramètres régionaux et linguistiques"> Formats> Paramètres supplémentaires> Séparateur de listes, mais cela n'a eu aucun effet sur l'ouverture de fichiers CVS dans Excel. Donc, malheureusement, ce n'est pas une solution.
Borek Bernard
2
Idem ici avec Excel 2010 et Windows 7. C'était déjà, dans mes paramètres, et Excel est toujours par défaut à l'onglet.
rhsatrhs
Une idée si nous pouvons entrer 2 caractères différents dans cette case dans le Panneau de configuration? Par exemple, ;,autoriser les deux personnages en tant que liste des parieurs marins?
Jeudi
7

LibreOffice Calc a un filtre CSV très avancé qui vous permet de choisir des séparateurs, des formats et des encodages. Je travaille beaucoup avec des données dans différents formats et j'ai très souvent besoin d'envoyer ces données au format Excel aux utilisateurs. J'utilise LibreOffice Calc pour convertir les fichiers csv au format souhaité, puis enregistrez au format xls.

Cela ne répond peut-être pas à la manière de le faire facilement dans Excel, mais à la manière de le faire facilement, en particulier dans la mesure où OP dans les commentaires suggère d’utiliser autre chose qu’excellent serait une option acceptable.

fsando
la source
4

Excel 2010 - En plus de valider vos paramètres avancés régionaux, assurez-vous de vérifier vos paramètres Excel avancés:

Fichier -> Options -> Avancé

Assurez-vous que l'option "Utiliser les séparateurs système" est cochée.

utilisateur295069
la source
2
Ou bien sûr, assurez-vous que cette case n'est pas cochée si vous souhaitez importer quelque chose de différent des paramètres régionaux. :-) Mais: il est bon de savoir que ce paramètre existe; Je n'en ai jamais entendu parler auparavant.
Arjan
1
Ces paramètres ne semblent influencer que les séparateurs de nombre, pas le séparateur de liste.
Borek Bernard
3

Un guide étape par étape pour les perplexes:

  1. Appuyez sur la touche Windows
  2. Tapez " intl.cpl " et appuyez sur Entrée.
  3. Cliquez sur " Paramètres supplémentaires ".
  4. Allez dans l' onglet " Numéros ":
  5. Changez le symbole décimal en un point .
  6. Changez le " Symbole de regroupement de chiffres " en un espace .
  7. Changer le " séparateur de liste " à une virgule .
  8. Allez dans l' onglet " Devise ":
  9. Changez le symbole décimal en un point .
  10. Changez le " Symbole de regroupement de chiffres " en un espace .
Anthony Faull
la source
C'est bien si vous utilisez toujours vos fichiers .CSV créés par vos soins. Mais cela ne fonctionne pas lorsque vous recevez un fichier de quelqu'un d'autre qui a utilisé une virgule comme séparateur.
stevenvh
0

Changer le séparateur décimal en. (point) et le séparateur de liste vers, (virgule) ont permis de maintenir le format CSV dans une vue normale dans Excel sur des ordinateurs norvégiens.

Madhu Rijal
la source
Aussi sur mon bulgare
Петър Петров
0

Pour mon système, les paramètres étaient déjà définis sur ceux suggérés par d'autres ici (symbole décimal défini sur. (Point) et séparateur de liste défini sur, (virgule) MAIS je rencontrais toujours les problèmes d'affichage lors de l'importation d'un fichier CSV exporté à partir d'une application différente. .

Après quelques essais et erreurs, j'ai trouvé une solution qui ouvre chaque fichier CSV dans la vue correcte.

Voici ce qui a fonctionné pour moi dans Excel 2013 avec Windows 8:

Panneau de configuration> Horloge, langue et région> Région> Paramètres supplémentaires> Séparateur de liste défini sur ,; (virgule ET point-virgule) -> cliquez sur "appliquer" puis voyez si cela vous convient.

apprendre en faisant
la source
0

Dans Excel, DATA onglet, dans le Données externes paragraphe, cliquez sur « à partir du texte » et importer votre CSV dans l'Assistant.

Walter
la source
0

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 en tant que petit endian UCS-2 (par Notepad ++). Cela ouvrirait le fichier dans une seule colonne dans Excel et je devrais effectuer la conversion Texte en colonnes pour fractionner les colonnes. Changer le script pour coder le même résultat que "ASCII" ( UTF-8 sans nomenclature par Notepad ++) m'a permis d'ouvrir le fichier CSV directement avec les colonnes fractionnées. Vous pouvez également modifier le codage du fichier CSV dans Notepad ++ .

  • Encodage du menu > Convertir en UTF-8 sans nomenclature
  • Enregistrer le fichier CSV
  • Ouvrir dans Excel, les colonnes doivent être fractionnées
Shayne Ephraim
la source
ASCII et UTF-8 sans nomenclature ne sont pas la même chose. En fait, ASCII s’intègre parfaitement dans la norme UTF-8 sans nomenclature, comme dans la norme UTF-8. Dès que des caractères non couverts en ASCII apparaîtront, ils pourront simplement sortir ANSI ou UTF-8 ... Si votre sortie n'a jamais rien en ASCII, tout va bien
sinni800
0

Avec la nouvelle version d'Excel 2010, vous pouvez ouvrir (menu: Fichier, Ouvrir ou Ctrl-O) un fichier .CSV sous forme de fichier texte. Ensuite, vous obtenez directement l’assistant, aussi simple que avec LibreOffice Calc, dans lequel vous pouvez sélectionner le délimiteur de champ approprié.

entrez la description de l'image ici

Cela ne fonctionne qu'avec les fichiers avec l'extension .CSV appropriée. Mon application devait produire une sortie CSV avec une extension .ACC, et essayer de l'ouvrir dans Excel avec la méthode ci-dessus, vous conduit à des angles Excel complètement différents :-(

Roland
la source