Question Comment ouvrir les fichiers CSV délimités par des points-virgules dans la version US d'Excel


Lorsque je double-clique sur un fichier .csv, il s'ouvre dans Excel. Les fichiers csv ont des colonnes délimitées par des points-virgules (pas des virgules, mais aussi un format valide).

En utilisant une configuration allemande Windows / Excel, le fichier ouvert est affiché correctement, les colonnes sont séparées lorsque les points-virgules existent dans le fichier csv.

Mais lorsque je fais la même chose sur une configuration Windows / Excel en anglais (américain), une seule colonne est importée, affichant toutes les données, y compris les points-virgules dans la première colonne.
(Je n'ai pas de configuration en anglais disponible pour les tests, les utilisateurs ont signalé le comportement)

J'ai essayé de modifier la valeur du séparateur de liste dans les paramètres régionaux de Windows, mais cela n'a rien changé.

Que puis-je faire pour pouvoir double-cliquer sur ces fichiers CSV dans une configuration anglaise?

MODIFIER:
Il semble que ce soit la meilleure solution pour ne pas compter sur les fichiers CSV dans ce cas. J'espérais qu'il existe un formatage pour les fichiers CSV permettant de les utiliser à l'international.
La meilleure solution semble être la création de fichiers XLS.


85
2017-08-26 13:02


origine


Vous pouvez recommander à vos utilisateurs d’utiliser LibreOffice Calc - il gère les CSV avec des séparateurs arbitraires très bien. - naught101


Réponses:


Ces fichiers sont distribués? téléchargé? Généré localement?

Je pense que la façon unique de résoudre votre problème sans accéder au PC de l'utilisateur et sans qu'il soit nécessaire de faire quelque chose de "double-clic" sur le fichier consiste à convertir les fichiers en .xls avant de les distribuer ou de les télécharger ou de les générer. un fichier .xls (ou un autre format qui fonctionne) au lieu d'un fichier .csv. Vous pouvez le faire avec un script ou manuellement avec un fichier Excel en fonction du nombre de fichiers et de la manière dont ils sont générés.


2
2017-08-26 18:42



Oui, je pense que c'est le meilleur moyen de créer directement des fichiers XLS. J'espérais qu'il existe un formatage pour les fichiers CSV qui les rendraient utilisables au niveau international, mais si ce n'est pas possible, les fichiers XLS fonctionneront peu importe où. - Holgerwa
Comment est-ce la bonne réponse, c'est inutile. - Stevie G


Ajoutez ceci sur la première ligne du fichier CSV:

sep=;

ou

sep=,

Cela remplacera les paramètres du système ("caractère séparateur de liste") et Excel ouvrira le fichier correctement.


177
2018-05-03 10:46



+1 l'a fait dans Excel 2010 et cela a parfaitement fonctionné. - N Reed
Y a-t-il une liste d'autres paramètres similaires? Dire à Excel d'utiliser, comme le séparateur décimal va généralement avec lui dire d'utiliser; comme séparateur de colonne. - ZweiBlumen
Fonctionne parfaitement pour Excel, mais notez que cela peut ne pas être pris en charge dans d'autres tableurs ou programmes de données. Il ne peut s'agir que d'un petit problème, il suffit de montrer une première ligne supplémentaire avec sep= ou sep=; dans elle, mais certains programmes automatisés ou des scripts ne peuvent pas s'attendre à la première ligne supplémentaire, résultant dans les en-têtes de colonne ou le sep=; la ligne elle-même étant interprétée comme des données réelles. - Sygmoral
Soyez prudent avec cela. Si vous enregistrez dans Excel, il faudra: - Supprimer la spécification du séparateur - Enregistrer avec le séparateur de paramètres régionaux - Bjinse
Peut confirmer fwrite($fileHandle, 'sep=,' . "\r\n"); complètement résolu le problème avec fputcsv en PHP. - h2ooooooo


Vous pouvez utiliser l'assistant d'importation de texte. Ce ne fait pas travailler sur un double-clic-open, mais c'est le meilleur que je puisse trouver qui n'implique pas de jouer avec les paramètres de Lanage.

Dans Excel 2003 goto Data -> Import External Data -> Import Data sur la barre de menu (ne peut pas dire où il est sur 2007, je n'ai pas ça à portée de main pour le moment). Recherchez et sélectionnez votre fichier CSV.

Quand il s'ouvre, vous obtenez le Text Import Wizard, qui vous permet de spécifier le (s) séparateur (s) à utiliser.


25
2017-08-26 13:29



Sur Outlook 2007, accédez à l'onglet Données, sélectionnez votre colonne et cliquez sur le bouton Texte en colonnes des ensembles d'outils de données. - Hondalex
Oui, c'est une solution. Malheureusement, les utilisateurs qui doivent consulter les données ne sont pas disposés à le faire. Ils peuvent gérer un "double clic-ouvrir", mais ne pourront rien faire de plus compliqué. Nous avons essayé de les éduquer au moins un peu, mais ils refusent. - Holgerwa
@ Holgerwa - est-il possible d'exécuter les fichiers via une sorte de processus de conversion avant de les donner aux utilisateurs? Ou doivent-ils rester séparés par des points-virgules? D'autres l'ont suggéré, mais il devrait être assez facile d'échanger des points-virgules pour des virgules en utilisant une sorte de script (je déconseille un simple find / replace parce que vous ne voulez pas convertir ces guillemets). - DMA57361


Voir cet article:
Problème avec l'ouverture de fichiers CSV avec Excel? Le problème de virgule et de point-virgule dans Excel en raison des paramètres régionaux pour l'Europe

Qui offre 3 solutions:

  • Modifier l'extension de fichier CSV à TXT (lorsque vous ouvrez un fichier TXT avec Excel, il démarrera l'assistant d'importation de fichier texte où vous pouvez choisir le délimiteur)
  • Remplacer tout "," par ";" dans vos fichiers CSV
  • Modifier vos paramètres régionaux et linguistiques

Comme vous avez seulement modifié la valeur du séparateur de liste dans les paramètres régionaux de Windows, je remarque que l'article dit d'entrer "." Decimal Symbol et pour List Separator.

Si vous vous sentez à l'aise avec VBA, alors consultez:

Ouverture d'un fichier CSV délimité par des points-virgules avec VBA dans Excel 2000
Exportation et importation de texte avec Excel


5
2017-08-26 13:28



Je suis d'accord, toutes les options valables, mais malheureusement, je ne suis pas dans une situation normale avec les utilisateurs de ces fichiers CSV. .TXT-import ne fonctionnera pas (voir mon commentaire sur la réponse de DMA57361), le remplacement des points-virgules par des virgules ne fonctionnera pas en raison de séparateurs décimaux, et la modification des paramètres régionaux ne fonctionnera pas car je n’ai pas accès au Les PC utilisés. Les utilisateurs vont simplement double-cliquer sur les fichiers et, s'ils n'obtiennent pas ce qu'ils attendent, ils vont se plaindre et refuser d'aider à résoudre le problème. - Holgerwa
@Holgerwa: Si vous ne contrôlez pas les PC utilisateurs, vous ne pouvez rien faire. Parce que mon autre suggestion serait de changer le gestionnaire de l'extension .csv pour qu'il devienne votre propre programme, ce qui corrigera (mais intelligemment) les délimiteurs et appellera Excel. - harrymc
@Holgerwa: S'il vous plaît noter ma modification ci-dessus concernant les paramètres régionaux. - harrymc


Le meilleur moyen que j'ai essayé est de définir les paramètres régionaux de votre ordinateur comme suit:

  • dans "Standard and Formats", choisissez "English (United States)";
  • dans les "Emplacements", choisissez "États-Unis".

Ça marche pour moi, il suffit de l'essayer.


3
2018-01-28 05:36



En fait, le problème est le contraire. Devrait changer à une région européenne pour obtenir la virgule comme symbole décimal et puis le point-virgule sera le séparateur de liste. - yosh m


S'il n'y a pas d'autres virgules dans le fichier, vous pouvez simplement faire une recherche / remplacement dans un éditeur de texte sur les points-virgules pour les transformer en virgules. Traiter comme un fichier csv normal après cela.


0
2017-08-26 13:41



Ces fichiers CSV doivent fonctionner dans différents pays (paramètres régionaux) et, dans de nombreux paramètres régionaux, la virgule est le séparateur décimal au lieu du point. Un fichier "standard" de valeurs séparées par des virgules ne fonctionnera pas. Je suppose que c'est la raison pour laquelle les points-virgules ont été ajoutés en tant que délimiteur valide pour les fichiers CSV. - Holgerwa