Artikel
Warum Excel Ihre CSV-Dateien verstümmelt
Eine Patienten-ID, die mit drei Nullen beginnt. Ein Gen namens SEPT2. Eine sechzehnstellige Kontonummer. Öffnen Sie eines davon als reine CSV-Datei in einer Tabellenkalkulation, und Excels Import-Funktion zeigt sie nicht nur an, sie schreibt sie um: Die Nullen verschwinden, der Gen-Name wird zu einem Datum, und die Kontonummer verliert ihre letzten Ziffern. Das ist eigentlich kein Fehler, sondern das, was passiert, wenn ein universeller Zahlen- und Datums-Erkenner auf Text trifft, der nur wie eine Zahl oder ein Datum aussieht. Hier ist, was mit einer CSV-Datei tatsächlich passiert, sobald Excel sie öffnet, und wie Sie es verhindern, bevor es passiert.
Führende Nullen verschwinden
Tippen Sie 02134 in eine Zelle, und Excels Standard-Spaltentyp, Allgemein, liest es als Zahl und lässt die führende Null fallen: 2134. Das betrifft jeden Code, der als Ziffern gespeichert ist, aber eigentlich keine Menge darstellt: US-Postleitzahlen, französische Postleitzahlen, Personal- oder Rechnungsnummern, Telefonnummern. Technisch geht in der zugrunde liegenden CSV-Datei zunächst nichts verloren, der Text neben der Zelle bleibt unverändert, bis Sie die Arbeitsmappe speichern. In diesem Moment schreibt Excel zurück, was es angezeigt hat, und die Nullen sind endgültig weg. Die Lösung besteht darin, Excel mitzuteilen, dass die Spalte Text ist, bevor es die Chance zum Raten bekommt: Über Daten > Aus Text/CSV (oder Daten abrufen) können Sie den Datentyp jeder Spalte explizit festlegen, oder Sie fügen ein Apostroph vor einem Wert in einer einzelnen Zelle hinzu, um Text zu erzwingen.

Text wird ungefragt zu Datum
Derselbe Erkenner sucht auch nach datumsähnlichem Text. Eine Zelle mit MAR1 oder SEPT2, gelesen als 1. März oder 2. September, wird stillschweigend in einen Datumswert umgewandelt und neu formatiert, ohne jede Warnung. Das ist nicht hypothetisch: 2020 benannte das HUGO Gene Nomenclature Committee rund 27 menschliche Gen-Symbole um, darunter SEPT2 und MARCH1, gerade weil Tabellenkalkulations-Software sie immer wieder in Daten verwandelte, sobald ein Datensatz geöffnet wurde. Ein Problem, das ernst genug war, dass eine Untersuchung von Genomik-Papern aus dem Jahr 2016 solche Autokorrektur-Fehler in etwa jeder fünften Publikation mit beigefügten Excel-Dateien fand. Die Lehre reicht über Gen-Namen hinaus: Jeder kurze alphanumerische Code, der zufällig wie ein Tag und ein Monat aussieht, ist gefährdet, sobald jemand Ihre CSV-Datei in einer Tabellenkalkulation öffnet, nicht nur Ihre eigene.
Sehr lange Zahlen verlieren ihre letzten Ziffern
Excel speichert jede Zahl als Gleitkommawert mit 15 signifikanten Stellen Genauigkeit, eine Grenze, die Microsoft direkt dokumentiert. Eine sechzehnstellige Karten- oder Kontonummer wie 4111111111111111 wird gerundet, um zu passen, sodass die letzte Ziffer oder zwei stillschweigend zu Null werden und der Wert nicht mehr dem entspricht, was Sie eingegeben haben. Die Zelle nachträglich zu formatieren bringt die fehlenden Ziffern nicht zurück, weil die zugrunde liegende gespeicherte Zahl bereits gerundet wurde; die einzige Lösung besteht darin, die Spalte als Text zu importieren oder dem Wert ein Apostroph voranzustellen, bevor Excel ihn überhaupt als Zahl behandelt.

Akzentuierter Text wird zu Kauderwelsch
Kodierung ist ein von der Autokorrektur getrennter Fehlermodus. Eine CSV-Datei ohne Byte-Order-Mark besteht aus reinen Bytes; wurde sie als UTF-8 gespeichert, öffnet Excel unter Windows sie typischerweise unter der Annahme der eigenen System-Codepage, sodass akzentuierte Buchstaben, Währungssymbole und Emojis als Mojibake erscheinen, eine Zeichenkette wie café wird zu etwas, das eher wie café aussieht. Der sichere Weg beim Erzeugen einer CSV-Datei für Excel ist, sie als CSV UTF-8 zu speichern oder eine UTF-8-Byte-Order-Mark hinzuzufügen; der sichere Weg beim Öffnen einer solchen Datei ist der Import über Daten > Aus Text/CSV, wodurch Sie die Quell-Kodierung explizit wählen können, statt darauf zu vertrauen, dass ein Doppelklick richtig rät.
Daten zwischen Formaten verschieben, ohne sie in Excel zu öffnen
Nichts davon ist wirklich ein Excel-Fehler, es ist genau das, wofür der Zahlen- und Datums-Erkenner einer Tabellenkalkulation gebaut ist, und es gilt unabhängig davon, wie die Datei geöffnet wird, nicht nur in Excel. Der sicherste Weg, eine CSV-Datei umzuformen oder zu prüfen, dass eine Spalte wirklich Text bleibt, bevor sie eine Tabellenkalkulation erreicht, besteht darin, direkt daran zu arbeiten: Unser Datenkonverter analysiert CSV mit einem Standard-Parser, der Anführungszeichen berücksichtigt, und interpretiert den Typ eines Werts niemals neu, sodass eine Postleitzahl oder ein Gen-Name genau der Text bleibt, den Sie eingegeben haben. Er läuft vollständig in Ihrem Browser, nichts, was Sie einfügen, wird irgendwohin hochgeladen. Das schützt allerdings nur den Konvertierungsschritt: Wird das Ergebnis später doch noch in einer Tabellenkalkulation geöffnet, müssen die sensiblen Spalten auch dort als Text markiert werden.
Tools in diesem Artikel
Häufige Fragen
Wie verhindere ich, dass Excel führende Nullen aus einer CSV-Datei entfernt?
Öffnen Sie die Datei nicht per Doppelklick. Importieren Sie sie stattdessen über Daten > Aus Text/CSV (oder Daten abrufen), was eine spaltenweise Datentyp-Auswahl anzeigt; stellen Sie die Spalte mit Postleitzahl, ID oder Telefonnummer vor Abschluss des Imports auf Text. Eine schnelle Lösung pro Zelle besteht darin, ein Apostroph vor dem Wert einzutippen, etwa '02134, was Text erzwingt, ohne die Anzeige zu verändern.
Warum hat Excel meine ID oder meinen Code in ein Datum verwandelt?
Excels Spaltentyp Allgemein sucht aktiv nach datumsähnlichem Text, Mustern wie einem kurzen Wort plus einer Zahl, oder zwei durch Bindestrich oder Schrägstrich getrennten Zahlen, und wandelt alles Passende um, ohne um Bestätigung zu bitten. Genau das erzwang 2020 die Umbenennung von Gen-Symbolen wie SEPT2 und MARCH1. Importieren Sie die Spalte als Text, genau wie bei führenden Nullen, um das Raten zu stoppen, bevor es geschieht.
Vermeidet eine andere Art der CSV-Konvertierung diese Probleme vollständig?
Sie vermeidet sie für diesen Konvertierungsschritt, nicht für immer. Ein Parser, der jedes Feld als reinen Text behandelt, wie unser Datenkonverter, schreibt eine Postleitzahl oder einen Gen-Namen nicht um, während er eine CSV-Datei in JSON umwandelt. Wird das Ergebnis aber später doch in einer Tabellenkalkulation geöffnet, von Ihnen oder von wem auch immer es erhält, bekommt der Import dieses Programms eine weitere Chance, die Werte neu zu interpretieren, weshalb die sensiblen Spalten auch dort als Text markiert werden müssen.