2010-12-14 5 views

Antwort

8

Ihr Problem ist t Mit der CSV-Erweiterung müssen Sie Excellence dazu zwingen, die Datei mit den sehr strengen CSV-Konventionen zu interpretieren. Dies wird oft gegen das, was Sie versuchen zu tun haben, wenn die CSV-Datei nicht ursprünglich von Excel erstellt wurde. Die einfachste und zuverlässigste Methode zum Importieren dieser CSV-Datei besteht darin, sie in eine TXT-Datei umzubenennen und dann die Importfunktion in Excel zu verwenden, um Spalten genau so zu verwenden, wie Sie möchten.

+1

Daher ist es ein manueller Job und ist es unmöglich, diese CSV-Dateien automatisch zu importieren? –

+0

Überhaupt keine Skriptsprache, die Sie verwenden, hat sicherlich eine Möglichkeit, das Dateisystem zu manipulieren. Ihre Frage wurde nicht mit einer Programmiersprache versehen, daher nahm ich an, dass Sie es ohnehin manuell tun würden. Wenn Sie VBA in Excel verwenden, gibt es einen einfachen Befehl ('FileCopy srcFile, srcFile &" .txt "'), der eine temporäre Kopie der Datei mit der neuen Erweiterung erstellt. Nachdem Sie es geöffnet haben, können Sie es dann mit 'Kill srcFile &" .txt "' – Alain

11

Präfix die Werte mit Gleichheitszeichen

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

Gibt es eine Möglichkeit, es als Text zu importieren, ohne das "'" vor? –

+0

Ohne ein anderes Format als CSV zu verwenden, glaube ich nicht. Abhängig vom Text in jeder Spalte in einer CSV-Datei verhält sich Excel anders. Es scheint, dass wenn Sie ein Zeichen (wie x) angeben, wird es als ein Zeichen angezeigt, aber wenn Sie ein Zeichen mit einem mathematischen Operator (dh -) vorangestellt Excel versucht, eine Zelle als eine Nummer mit der angegebenen Bezeichnung (in diesem Fall z). – Seidr

+0

Interessanterweise haben Sie "x", "y", = "- z, a", dann wird das ", a" nicht einmal importiert! –

6

Ich habe Ihr erstes Beispiel in Excel 2003 versucht und konnte Ihren #NAME-Fehler reproduzieren.

Meine Lösung war, die Textdatei zu öffnen und im Import-Assistenten (3. Seite) die 3. Spalte als "Text" zu spezifizieren - neben dem richtigen Trennzeichen und Text-Qualifier (2. Seite).

Keine Änderungen an der Textdatei erforderlich.

+1

eine viel bessere Antwort als alle der oben genannten loswerden – Chris

2

Es gibt einen vollständigen Unterschied bei der Verwendung von Excel> Importieren und Doppelklicken auf eine CSV-Datei. Verschiedene Parser werden verwendet.

Basierend auf den obigen Kommentaren, habe ich herausgefunden, dass ein Leerzeichen vor einem '+' oder '-' - Zeichen für den Doppelklick .CSV Datei Fall vor. So enthält meine Datei jetzt z.B.

" +14";" -Foo" 
0

Ich ziehe es würde ein solches Problem bei der Umwandlung direkt zu lösen, indem Sie die rechte Spalte Format zu geben, Beispiel: Text Format für die Spalte verwenden, die den Betrieb Zeichen enthalten:

Text format on the column

Überprüfen Sie dieses Detail Beitrag: http://ask.osify.com/qa/854

0

Finden und jede Instanz +ersetzenmit ' +

Apostroph und Leerzeichen am Anfang aufheben sollten jeden +, - oder =.