web-dev-qa-db-fra.com

Échapper les guillemets et les délimiteurs dans les fichiers CSV avec Excel

J'essaie d'importer un fichier CSV dans Excel, en utilisant ; comme délimiteurs, mais certaines colonnes contiennent ; et/ou citations.

Mon problème est: je peux utiliser des guillemets doubles pour ignorer les délimiteurs pour une chaîne spécifique, mais s'il y a un double guillemet à l'intérieur de la chaîne, il ignore les délimiteurs jusqu'au premier guillemet double, mais pas après. Je ne sais pas si c'est clair, ce n'est pas si facile à expliquer.

Je vais essayer d'expliquer avec un exemple:

Supposons que j'ai cette chaîne this is a;test: J'utilise des guillemets doubles autour de la chaîne, pour ignorer le délimiteur => Cela fonctionne.

Maintenant, si cette chaîne contient des délimiteurs ET des guillemets doubles: mon astuce ne fonctionne plus. Par exemple, si j'ai la chaîne this; is" a;test: Mes guillemets ajoutés autour de la chaîne ignorent les délimiteurs pour la première partie (le délimiteur dans la partie this; is est correctement ignoré, mais comme il y a un double guillemet après, Excel n'ignore pas le délimiteur suivant dans le a;test partie.

J'ai fait de mon mieux pour être aussi clair que possible, j'espère que vous comprendrez quel est le problème.

7
Whin3

Lors de la lecture d'une chaîne entre guillemets dans un fichier csv, Excel interprète toutes les paires de guillemets doubles ("") avec des guillemets simples (").

alors "this; is"" a;test" sera converti en une cellule contenant this; is" a;test

Remplacez donc tous les guillemets doubles dans vos chaînes par des paires de guillemets doubles.

Excel inversera ce processus lors de l'exportation au format CSV.

Voici du CSV

a,b,c,d,e
"""test1""",""",te"st2,"test,3",test"4,test5

Et voici à quoi cela ressemble après l'importation dans Excel:

enter image description here

22
Ken