fixmint
DE

Excel zu CSV ohne kaputte Sonderzeichen: UTF-8, BOM und Trennzeichen

Von · · 5 Min. Lesezeit

Die meisten kaputten Sonderzeichen in einer CSV-Datei entstehen durch eine falsche Kodierung: Die Datei ist als UTF-8 gespeichert, wird aber mit einer Windows-Kodierung geöffnet. Exportiere das Blatt als CSV UTF-8, mit einer Byte-Order-Mark (BOM), wenn Excel das Programm ist, das die Datei öffnet, und wähle das Trennzeichen, das dein Gebietsschema erwartet. Formatiere vor dem Export Spalten wie Postleitzahlen und Telefonnummern als Text, damit die Nullen erhalten bleiben.

Excel zu CSVCSV nötig, habe eine Excel-DateiKostenlos loslegen

Warum aus „é“ „é“ wird

Ein Zeichen wird in einer Datei als Bytes gespeichert. In UTF-8 besteht der Buchstabe é aus zwei Bytes, C3 und A9. Ein Programm, das diese Bytes als Windows-1252 liest, einer gängigen Windows-Kodierung, sieht für C3 das Zeichen à und für A9 das Zeichen ©. So erscheint „café“ als „café“. Du kannst das selbst nachvollziehen: Wenn du é als UTF-8 kodierst und das Ergebnis als Windows-1252 dekodierst, erhältst du é. Ein ü, ñ oder ö bricht auf die gleiche Weise.

Die Lösung besteht nicht darin, die Zeichen zu bearbeiten. Man muss dem Programm sagen, welche Kodierung die Datei verwendet.

UTF-8 und die BOM

UTF-8 ist die Standardkodierung für Text im Web und in den meisten modernen Programmen. Eine einfache CSV-Datei hat kein Feld, das ihre Kodierung angibt, deshalb raten Programme. Eine Byte-Order-Mark ist eine Folge von drei Bytes ganz am Anfang der Datei, EF BB BF, die Programmen, die danach suchen, UTF-8 signalisiert. Excel unter Windows öffnet eine UTF-8-Datei ohne BOM oft mit seiner lokalen Kodierung, daher ist die BOM die übliche Lösung.

In neueren Excel-Versionen bietet das Menü Speichern unter die Option CSV UTF-8 an, die die BOM hinzufügt. Du kannst die Datei auch über Daten > Aus Text/CSV importieren und den Dateiursprung auf 65001 setzen, also UTF-8. Die BOM hat einen Nachteil: Ein Programm, das sie nicht erwartet, kann sie als Teil des ersten Spaltennamens behandeln. Die meisten Parser und Tabellenprogramme kommen damit zurecht, aber wenn ein Datenimport eine seltsame Kopfzeile meldet, entferne die BOM.

Komma oder Semikolon

CSV steht für Comma-Separated Values (kommagetrennte Werte), und die Spezifikation RFC 4180 beschreibt Felder, die durch Kommas getrennt sind. In vielen Ländern, auch in denen mit Dezimalkomma wie 1,5 für eineinhalb, ist das Listentrennzeichen von Excel ein Semikolon. Dann kann eine kommagetrennte Datei, die in Excel geöffnet wird, schlecht aufgeteilt werden, und eine Zahl wie 1,5 wird zu zwei Feldern.

Wähle das Trennzeichen, das dein Zielprogramm erwartet. Das Excel-zu-CSV-Tool bietet Komma, Semikolon und Tabulator an. Wenn die Datei für ein Programm mit Dezimalkomma-Gebietsschema bestimmt ist, ist ein Semikolon meist die sicherere Wahl.

Datumsangaben werden zu Seriennummern

Excel speichert Datumsangaben als Seriennummern, die Tage ab einem Startpunkt zählen. Im 1900-Datumssystem ist der 1. Januar 1900 die Seriennummer 1. Excel behandelt 1900 außerdem als Schaltjahr und zählt damit einen 29. Februar 1900, den es nie gab, als Seriennummer 60. Dadurch ist der 1. März 1900 die Seriennummer 61, und jedes spätere Datum ist um einen Tag verschoben. Der Fehler stammt von Lotus 1-2-3, und Microsoft hat dasselbe System aus Kompatibilitätsgründen beibehalten. Andere Software kann Daten vor dem 1. März 1900 um einen Tag falsch lesen.

Wenn du ein Datum exportierst, siehst du vielleicht 44927 statt 2023-01-01 oder bei alten Daten einen Tag Abweichung. Das Tool wandelt Datumsangaben in lesbaren Text um. Exportierst du manuell, formatiere die Datumsspalte als Text im ISO-Format yyyy-mm-dd, das jedes Programm gleich liest.

Führende Nullen verschwinden

Eine Postleitzahl wie 02134 ist Text, aber Excel behandelt eine eingegebene Zahl als Zahl und zeigt deshalb 2134 an. Die Null fehlt dann in der Tabelle, und die daraus geschriebene CSV hat sie ebenfalls nicht. Telefonnummern, die mit 0 beginnen, und lange ID-Nummern sind genauso betroffen. Sehr lange Zahlen können zudem Stellen verlieren, weil Excel nur etwa 15 signifikante Stellen speichert.

Die Lösung besteht darin, diese Spalten als Text zu speichern, bevor du die Daten eingibst oder importierst. Wenn du eine CSV mit den Nullen schon hast, verwende Daten > Aus Text/CSV und stelle die Spalte auf Text, statt die Datei per Doppelklick zu öffnen.

Regeln für Anführungszeichen

RFC 4180 definiert das gängige CSV-Format. Die wichtigsten Regeln für Anführungszeichen sind:

  • Ein Feld, das ein Komma, ein doppeltes Anführungszeichen oder einen Zeilenumbruch enthält, muss in doppelte Anführungszeichen gesetzt werden.
  • Ein doppeltes Anführungszeichen innerhalb eines in Anführungszeichen gesetzten Feldes wird als zwei doppelte Anführungszeichen geschrieben.
  • Zeilen enden in der Spezifikation mit CRLF, auch wenn die meisten Tools LF akzeptieren.

Zum Beispiel hat die Zeile "Müller, Anna","She said ""ok""" zwei Felder: Müller, Anna und She said "ok". Der bei IANA registrierte MIME-Typ für CSV ist text/csv.

RFC 4180 erlaubt kein doppeltes Anführungszeichen in einem nicht in Anführungszeichen gesetzten Feld, und viele Parser lehnen eine solche Zeile ab oder teilen sie falsch auf. Setze das Feld korrekt in Anführungszeichen oder entferne das überflüssige Zeichen.

Checkliste vor dem Export

  1. Exportiere als CSV UTF-8, mit BOM, wenn Excel die Datei öffnen soll.
  2. Wähle das Trennzeichen, das dein Zielprogramm erwartet.
  3. Formatiere ID-ähnliche Spalten wie Postleitzahlen und Telefonnummern als Text.
  4. Schreibe Datumsangaben als yyyy-mm-dd.
  5. Öffne die Datei in einem einfachen Texteditor und prüfe die erste Zeile und eine Stichprobe von Namen mit Sonderzeichen.

Unsichtbare Zeichen wie geschützte Leerzeichen können ebenfalls Importfehler verursachen. Das Tool Unsichtbare Zeichen entfernen findet und entfernt sie, und unsichtbare Zeichen in Text erklärt, woher sie stammen. Sobald die Datei sauber ist, kann CSV zu JSON sie für Entwickler umwandeln, wie in CSV zu JSON und zurück beschrieben.

Bevor du exportierst, lohnt sich ein Blick auf die Zellen selbst: Die Excel-Formelprüfung listet die Formeln auf, die einen Fehler anzeigen oder auf eine andere Datei verweisen, und genau diese Zellen kommen in einer CSV leer an. Nach dem Export vergleichst du die beiden Tabellen, um zu sehen, was sich zwischen den Versionen geändert hat.

Kurze Antworten

Warum sieht meine Datei in einem Programm richtig aus und in Excel kaputt? Wenn einer UTF-8-Datei die BOM fehlt, liest Excel unter Windows sie möglicherweise mit seiner lokalen Kodierung. Das Hinzufügen der BOM oder ein Import mit ausgewähltem UTF-8 behebt das.

Brauchen Mac-Versionen von Excel die BOM? Manche Quellen sagen ja, also teste mit einer Datei, die einen Namen mit Akzent enthält, bevor du sie verschickst.

Kann ich die Datumsangaben nach dem Export korrigieren? Ja, wenn sie noch Seriennummern sind, aber es ist besser, sie von Anfang an als yyyy-mm-dd zu exportieren.

Wird meine Tabelle hochgeladen, wenn ich sie konvertiere? Das Tool läuft in deinem Browser, die Datei wird also auf deinem eigenen Gerät verarbeitet. Du kannst das mit der Anleitung zur Upload-Prüfung nachprüfen.

Mit KI-Unterstützung aus dem Englisches Original übersetzt.

Kommentare

    Noch keine Kommentare. Schreib den ersten.

    Deine Bewertung (optional)

    Deine E-Mail wird nie angezeigt oder gespeichert.

    Cover von Open Data for AGI - Why Public, Free, and Open Datasets MatterOpen Data for AGI - Why Public, Free, and Open Datasets Matter

    Warum öffentliche, freie und offene Datensätze die allgemeine künstliche Intelligenz genauso prägen werden wie Algorithmen und Rechenleistung.

    $4.99Auf Gumroad holenAuf Englisch