Ich habe lange gesucht, um herauszufinden, wie man eine CSV-Datei so ausgibt, dass Excel die Werte als Zeichenfolge interpretiert und nicht versucht, sie in Zahlen oder Datumsangaben umzuwandeln.
z.B:
"141", "10/11/2002", "350.00", "1311742251"
Excel versucht, all diese Daten "intelligent" in die nativen Datums- / Zahlenformate zu konvertieren. Gibt es einen Weg, das zu umgehen?
EDIT: Klargestellt die Absicht meiner Frage, sorry für die Verwirrung.
quelle
"=""123"""
ansonsten schlecht geformt sein. Felder, die ein enthalten,"
müssen abgegrenzt werden, und die"
s im Feld müssen mit anderen"
s maskiert werden.="123"
ist kein gültiges CSV-Feld, da er das Feldtrennzeichen enthält,"
ohne es oder das Feld richtig zu begrenzen. Die Tatsache, dass Excel es zufällig als Formel liest, hängt rein von Excel ab und hat nichts mit der CSV-Datei zu tun.Wie viele andere habe ich mit denselben Entscheidungen zu kämpfen gehabt, die Microsoft getroffen hat, und verschiedene Lösungsvorschläge ausprobiert.
Für Excel 2007 gilt Folgendes:
Jedoch:
Setzen Sie einen Tabulator vor alle Werte, bevor Sie sie in doppelte Anführungszeichen setzen. Verhindert Konvertierungen in Datumsangaben und das Trimmen von führenden oder nachfolgenden Nullen. Das Blatt zeigt nicht einmal böse Warnmarkierungen in der oberen linken Ecke jeder Zelle.
Z.B:
Beachten Sie, dass das Tabulatorzeichen in doppelten Anführungszeichen stehen muss. Bearbeiten: Es stellt sich heraus, dass die doppelten Anführungszeichen nicht einmal notwendig sind.
Durch Doppelklicken auf die CSV-Datei kann die Datei in Excel als Tabellenkalkulation geöffnet werden, in der alle Werte angezeigt werden, die wie oben beschrieben behandelt werden, z. B. Textdaten. Stellen Sie sicher, dass in Excel das '.' Als Dezimalpunkt und nicht als ',' oder jede Zeile der CSV-Datei wird ein Text in der ersten Zelle jeder Zeile angezeigt. Anscheinend glaubt Microsoft, dass CSV "Nicht der Dezimalpunkt" bedeutet. Getrennter Wert.
quelle
Mit der Importfunktion von Excel können Sie das Format (Auto, Text oder Datum) festlegen, als das jede Spalte interpretiert werden soll, und es sind keine Änderungen an den Datendateien erforderlich.
Sie finden es in Excel 2007/2010 als
Data
→Get External Data
→From Text
.Oder
Data
→Import External Data
→Import Data
in Excel 2003.Hier ist ein Bild des Excel 2003-Textimport-Assistenten in Aktion für die angegebenen Beispieldaten, das zeigt, wie ich die letzten beiden Spalten als Text importiere:
quelle
Das Beispiel von Simon hat bei mir nicht funktioniert, und ich vermute, dass es sich um einen Sprachunterschied handelt. In C # sieht meine Arbeitsformatzeichenfolge folgendermaßen aus:
Und so sieht die Ausgabedatei aus:
Wie zu sehen ist, ist das Format in der Ausgabedatei
="VALUE",
nicht"=""VALUE""",
das, von dem ich glaube, dass es eine Visual Basic-Konvention ist.Ich verwende Excel 2010. Im Übrigen kann Google Sheets eine auf diese Weise formatierte Datei nicht öffnen / konvertieren. Es funktioniert, wenn Sie das Gleichheitszeichen auf diese Weise entfernen
"VALUE",
- Excel öffnet die Datei weiterhin, ignoriert jedoch die Tatsache, dass Ihre Spalten Zeichenfolgen sein sollen.quelle
Eine einfache Möglichkeit, Excel zu zwingen, das Datum als Text zu interpretieren, besteht darin, ein einfaches Anführungszeichen vor das Datum zu setzen, anstatt vollständige Anführungszeichen zu verwenden, wie in:
Wenn Sie die CSV importieren können, anstatt sie zu öffnen, können Sie Excel mitteilen, in welchem Format die einzelnen Spalten vorliegen sollen. Schauen Sie sich diese Frage an, die ich gestellt habe .
quelle