2017-04-07 3 views
0

J'essaie d'importer un fichier CSV dans Excel, en utilisant ; comme délimiteurs, mais certaines colonnes contiennent ; et/ou des guillemets. Mon problème est: je peux utiliser des guillemets pour ignorer les délimiteurs pour une chaîne spécifique, mais s'il y a une double citation dans la chaîne, elle ignore les délimiteurs jusqu'à la première citation, mais pas après. Je ne sais pas si c'est clair, ce n'est pas si facile à expliquer.Echapper des guillemets et des délimiteurs dans des fichiers CSV avec Excel

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, d'ignorer le delimiter => Il fonctionne.

Maintenant, si cette chaîne contient des délimiteurs ET des guillemets doubles: mon tour ne fonctionne plus. Par exemple si j'ai la chaîne this; is" a;test: Mes doubles 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 puisqu'il y a une double citation après, Excel n'ignore pas le délimiteur suivant dans la a;test partie.

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

+0

Vous pourriez remplacer tous les guillemets doubles avec un caractère comme | = Chr (124) et inverser le remplacement après une importation réussie. – Variatus

+0

Si je comprends bien, je devrais remplacer tout '' 'par' CHAR (124) '? Donc Excel remplace toutes les guillemets par' | ', mais comment puis-je l'inverser après Excel? – Whin3

Répondre

5

Lors de la lecture dans une chaîne entre guillemets dans un fichier csv, Excel interprétera tous paires de guillemets ("") avec guillemets simples (").

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

Remplacez donc toutes les guillemets dans vos chaînes par des paires de guillemets doubles. Excel va inverser ce processus lors de l'exportation au format CSV.

Voici quelques CSV

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

Et voilà comment il regarde après l'importation dans Excel:

enter image description here