Je génère un fichier CSV avec une extension .csv dans laquelle chaque élément de données sur une ligne est séparé par une virgule:
1,2,3,4
1,2,3,4
Le fichier est envoyé par e-mail et je veux que lorsqu'un client l'ouvre, il voit les données organisées en colonnes.
Une telle chose est-elle possible?
PS: je peux changer librement le délimètre.
Réponses:
Utilisez tab au lieu de virgule. Et si cela ne fonctionne pas, donnez à votre fichier délimité par des tabulations une extension xls.
la source
si c'est uniquement pour obtenir la
csv
lisibilité sur chaque système, il y a une astuce non documentée: dans la première ligne, écrivezSEP=;
. Cette ligne indique à EXCEL quel caractère utiliser comme séparateur (en fait, vous pouvez utiliser n'importe quel caractère (unique) (;,|@#'
...))REMARQUE: cette ligne n'est qu'une partie du
csv
fichier lui-même. Il ne fera pas partie de la feuille de calcul dans EXCEL. cela signifie, il ne sera pas affiché et il ne sera pas écrit, quel que soit le format que vous définissez pour écrire ou exporter.la source
Le comportement d'Excel lors de l'ouverture de fichiers CSV dépend fortement de vos paramètres locaux et de ceux utilisés
list separator
sousRegion and language » Formats » Advanced
. 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, alors vous pensez.
Par exemple, ici, vous voyez qu'un Excel allemand utilisera un point-virgule au lieu d'une virgule comme aux États-Unis.
Pour vous embrouiller encore plus, ce paramètre interfère avec le symbole décimal qui peut être configuré séparément sous
Excel Options » Advanced » Use system separators
ou via les paramètres régionaux comme indiqué ci-dessus. Excel ne peut pas utiliser le même symbole que l'onglet décimal et le séparateur de liste. Il utilisera automatiquement une virgule ou un point-virgule comme séparateur de sauvegarde. Lire la suiteJe prendrai votre exemple pour créer 3 fichiers. Chacun avec un séparateur différent et ouvrez-le avec Excel.
Pas la même chose que votre Excel? J'ai pensé ainsi.
Permet donc de changer manuellement l'extension des mêmes fichiers CSV en XLS et de voir ce qui se passe maintenant. Tout d'abord, Excel affichera un avertissement indiquant que l'extension de fichier ne correspond pas au contenu et Excel essaie de deviner ce qu'il contient.
Conclusion: TAB + renommer + ignorer l'avertissement = gagner sur chaque système?
Peut-être, mais je ne serais pas si sûr pour les clients en dehors de votre propre pays.
La meilleure méthode consiste à demander à vos clients d'ouvrir d'abord un fichier Excel vierge, puis de
Data » Get data from text
sélectionner manuellement une virgule comme séparateurla source
Vous pouvez remplacer ".csv" par ".txt", démarrer Excel et ouvrir ce fichier .txt. Ensuite, Excel vous montrera un assistant où vous pouvez spécifier d'utiliser "," comme séparateur. Lorsque vous enregistrez à nouveau ce fichier au format .csv, la prochaine fois qu'Excel l'ouvrira comme vous en avez besoin.
la source
Une autre solution que j'ai utilisée dans cette situation était de produire un fichier HTML de base, au lieu de CSV. Excel peut l'ouvrir sans erreur. Il peut également lire au moins une partie de la mise en forme du fichier.
la source
C'est la réponse la plus stupide de tous les temps, mais cela a fonctionné. J'utilise des fichiers CSV quotidiennement. Je les crée tout le temps et les visualise avec Excel. Aujourd'hui, après 12 ans sans jamais voir ce problème, il m'est arrivé. Il n'ouvrirait pas un fichier csv et ne formaterait pas les colonnes. Même certains fichiers csv que j'ai créés la nuit dernière avec Excel s'ouvriraient dans une colonne par ligne.
Solution: vérifiez le gestionnaire de tâches pour toutes les instances ouvertes d'Excel.exe. Tuez toutes les instances et essayez d'ouvrir à nouveau le fichier csv.
facepalm
la source
À court terme si vous avez seulement besoin d'ouvrir un fichier CSV qui vous a été envoyé depuis un autre pays -
Ouvrez le fichier dans Wordpad et utilisez la fonction de recherche et de remplacement pour modifier chaque séparateur utilisé par le pays émetteur (par exemple;;) et remplacez-le par une virgule. (par exemple ,).
Vérifiez simplement que le pays émetteur n'utilise pas de virgule à la place d'un autre symbole (par exemple, en Espagne, il utilise une virgule où nous utilisons une décimale, vous devez donc rechercher et remplacer la virgule par une décimale, puis rechercher et remplacer l'autre symbole. avec la virgule).
Pas une solution à long terme mais assez bonne pour rendre le fichier lui-même lisible si vous êtes pressé et ne pouvez pas accéder au panneau de configuration au travail.
la source
Je suis tombé sur le même problème. J'avais un fichier CSV qu'Excel analysait incorrectement et j'avais besoin de l'assistant d'importation.
Le correctif simple consistait à renommer CSV en TXT et l'assistant est venu aider à reconnaître correctement la structure des colonnes.
la source
Une réponse à ce sujet - en particulier pour les problèmes MacOS / OSX avec Excel reconnaissant les virgules:
dans Excel 2019 n'ouvrant pas correctement CSV - ne pas analyser les colonnes: /superuser//a/1506042/1116939
la source