web-dev-qa-db-fra.com

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

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:

enter image description here

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, lorsque j'ai déjà ouvert ce fichier dans Excel, y a-t-il un bouton ou quelque chose qui l'indique "rouvrez ce fichier et utilisez une virgule comme séparateur"?

Je sais que je peux importer les données dans une nouvelle feuille de calcul, etc., mais je demande spécifiquement de l’aide dans les cas où j’ai déjà un fichier CSV contenant des virgules et que je souhaite l’ouvrir dans Excel sans créer de nouveau classeur ni transformer le fichier. fichier d'origine.

193
Borek Bernard

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 formulent des nombres tels que: 1 000,00, c’est-à-dire que 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 system List separator en une virgule dans Région -> Paramètres supplémentaires
  2. Dans Excel 2013, je suis allé dans Options -> Avancé et décoché Utiliser des séparateurs système (sous "Options d'édition", qui constitue la première section)
  3. J'ai défini 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 à l'aide de l'environnement local américain, c'est-à-dire du point au lieu d'une virgule. Cela semble un peu contre nature 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).

19
Borek Bernard

Accédez à l'onglet Données et sélectionnez texte en colonnes sous outils de données puis sélectionnez délimité et appuyez sur suivant . Ensuite, sélectionnez virgule comme délimiteur et appuyez sur finish

enter image description here

176
Raystafarian

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.

158
Krivda

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 le séparateur de liste par un 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 (,) à un point (.) 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.

49
Maxwell Maake

Apparemment, Excel utilise un paramètre régional Windows 7 pour le délimiteur par défaut des CSV (qui est apparemment un onglet par défaut). Vous pouvez changer ce réglage 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, par exemple, Outlook utilise des CSV séparés par des tabulations pour importer/exporter des contacts, et que vous recevez ces CSV 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 les ouvrir. CSV séparés par des tabulations.

10
Lèse majesté

LibreOffice Calc a un filtre très avancé csv 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 que Excel serait une option acceptable.

7
fsando

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.

4
user295069

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. Accédez à l'onglet "Nombres} _":
  5. Changez le symbole décimal en point.
  6. Remplacez le "symbole de regroupement de chiffres}" par un espace.
  7. Remplacez "Séparateur de liste} _" par un virgule.
  8. Allez sur l'onglet "Devise _":
  9. Changez le symbole décimal en point.
  10. Remplacez le "symbole de regroupement de chiffres}" par un espace.
3
Anthony Faull

Dans Excel,DATAtab, dans la sous-section Obtenir des données externes , cliquez sur " Du texte " et importez votre fichier CSV dans l'Assistant.

0
Walter

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

0
Madhu Rijal

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é.

 enter image description here

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 coins Excel complètement différents :-(

0
Roland

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 autre application. .

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" pour voir si cela vous convient.

0
learn_by_doing

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 colonne unique 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 BOM par Notepad ++) m'a permis d'ouvrir le fichier CSV directement avec les colonnes fractionnées. Vous pouvez modifier le codage du fichier CSV dans Notepad ++ aussi.

  • Menu Encodage> Conversion en UTF-8 sans nomenclature
  • Enregistrer le fichier CSV
  • Ouvrir dans Excel, les colonnes doivent être fractionnées
0
Shayne Ephraim