2010-12-14 93 views

Répondre

8

Votre problème est t En utilisant l'extension CSV, vous obligez Excel à interpréter le fichier en utilisant ses conventions CSV très strictes, et cela va souvent à l'encontre de ce que vous essayez de faire, à moins que le fichier CSV ait été créé à l'origine par Excel. La méthode la plus simple et la plus fiable pour importer ce fichier CSV consiste à le renommer en fichier TXT, puis à utiliser la fonction d'importation dans Excel pour contraindre les colonnes exactement comme vous le souhaitez.

+1

Par conséquent, c'est un travail manuel et est impossible d'importer automatiquement ces fichiers CSV? –

+0

Pas du tout, tout langage de script que vous utilisez a certainement un moyen de manipuler le système de fichiers. Votre question n'a été taguée avec aucun langage de programmation, donc j'ai supposé que vous le faisiez manuellement de toute façon. Si vous utilisez VBA dans Excel, il existe une commande facile ('FileCopy srcFile, srcFile &" .txt "') qui fera une copie temporaire du fichier avec la nouvelle extension. Après l'avoir ouvert, vous pouvez vous en débarrasser avec 'Kill srcFile &" .txt "' – Alain

11

Prefix les valeurs avec signes égal

="x",="y",="-z" 
+0

Existe-t-il un moyen de l'importer en tant que texte sans mettre le "'" devant? –

+0

Sans utiliser un format autre que CSV, je ne le crois pas. Selon le texte de chaque colonne d'un fichier CSV, Excel agira différemment. Il semble que si vous fournissez un caractère (tel que x) il affichera comme un caractère, cependant si vous préfixez un caractère avec un opérateur mathématique (ie -) Excel essaye de référencer une cellule comme un nombre avec la désignation fournie (dans ce cas z). – Seidr

+0

Fait intéressant si vous avez "x", "y", = "- z, un" alors le "," n'est même pas importé! –

6

J'ai essayé votre premier exemple dans Excel 2003 et vous pouviez reproduire votre #NAME eror. Ma solution était d'ouvrir le fichier texte et de spécifier la 3ème colonne comme "Texte" dans l'assistant d'importation (3ème page) - avec le choix du délimiteur correct et du qualificatif de texte (2ème page).

Aucun changement requis pour le fichier texte.

+1

Une bien meilleure réponse que tout ce qui précède – Chris

2

Il existe une différence complète dans Excel> Importer et double-cliquez sur un fichier .CSV. Différents analyseurs sont utilisés. Basé sur les commentaires ci-dessus, j'ai compris que en ajoutant un espace avant un signe '+' ou '-' fonctionne pour le cas de fichier .CSV double-clic. Donc, mon fichier contient maintenant par exemple.

" +14";" -Foo" 
0

Je préférerais résoudre ce problème directement lors de la conversion, en donnant le format de la colonne de droite, par exemple: utiliser format texte pour la colonne qui doit contenir signe de fonctionnement:

Text format on the column

Vérifiez ce poste détail: http://ask.osify.com/qa/854

0

Rechercher et remplacer toutes les occurrences de + avec ' +

Une seule citation et de l'espace au début doit annuler toute +, - ou =.