Code spricht JSON, Tabellen sprechen CSV und Excel — früher oder später musst du Daten von einem ins andere bringen. Die drei Formate enthalten dieselben Zeilen und Spalten; die Kunst ist, sie beim Umwandeln nicht zu zerstören. So geht es.
Die Quoting-Regel — gezeigt statt beschrieben. Wir haben
[{"name":"Ada","dept":"R&D","hours":7.5},{"name":"Bo","dept":"Sales, EU","hours":8}]durch unseren JSON-zu-CSV-Konverter geschickt, zurück kam:name,dept,hours Ada,R&D,7.5 Bo,"Sales, EU",8Beachte die letzte Zeile.
R&Dbleibt blank,Sales, EUbekommt Anführungszeichen — weil es das Trennzeichen selbst enthält. An dieser einen Regel scheitern die meisten handgeschriebenen CSV-Exporte: Ein Komma im Wert macht aus einer Spalte stillschweigend zwei. Kopiere die Eingabe und prüfe es selbst.
Wofür jedes Format gut ist
- JSON — strukturierte Daten für Code und APIs. Tabellendaten sind meist ein Array von Objekten:
[{"name":"Ann","age":30}, …], wobei jedes Objekt eine Zeile ist. - CSV — eine Klartext-Tabelle (kommagetrennt). Universell, winzig und von fast allem importierbar.
- Excel (.xlsx) — eine binäre Tabelle mit Formatierung, mehreren Blättern und Formeln. Das, was die meisten Kollegen tatsächlich öffnen.
JSON zu CSV
Am saubersten wandelt sich ein Array flacher Objekte um. Jedes Objekt wird eine Zeile; die Schlüssel werden die Kopfzeile. Verschachtelte Objekte passen nicht ordentlich in eine flache Tabelle — flache sie zuerst ab (oder erwarte, dass nur die oberste Ebene umgewandelt wird).
Beachte auch, woher die Kopfzeile kommt. Unser Konverter gab name,dept,hours aus, indem er die Schlüssel des ersten Objekts las — nicht indem er alle Datensätze durchsah. Hat der zweite Datensatz einen zusätzlichen Schlüssel, hat dieser keinen Platz. Das ist der praktische Grund, vor dem Export zu flachen und zu normalisieren, nicht danach.
JSON zu Excel
Gleiche Idee, aber die Ausgabe ist eine .xlsx, die sich direkt in Excel, Numbers oder Google Sheets öffnet — kein Importschritt. Ideal, wenn du Daten an jemanden gibst, der in Tabellen lebt.
CSV oder Excel zurück zu JSON
Andersherum wird aus einer Tabelle ein Array von Objekten, das dein Code parsen kann — super, um eine Datenbank zu füllen, eine API zu speisen oder Testdaten zu laden.
Verschachteltes JSON abflachen
CSV und Excel sind flache Raster, Verschachtelung muss also zuerst aufgerollt werden. Üblich ist die Punktnotation für die Schlüssel:
[{ "name": "Ann", "address": { "city": "Berlin", "zip": "10115" } }]
wird zu einer Tabelle mit den Spalten name, address.city und address.zip. Arrays sind kniffliger: eine Werteliste landet oft in einer Zelle ("red; green"), eine Liste von Objekten braucht meist eine Zeile pro Eintrag. Lege die Form vor der Umwandlung fest, damit die Spalten einheitlich bleiben.
Trennzeichen, Anführungszeichen und Kodierung
Die meisten CSV-Probleme kommen von drei Details:
- Trennzeichen. „Kommagetrennt” ist nicht universell. In vielen europäischen Locales ist das Komma das Dezimaltrennzeichen, deshalb erwartet Excel dort ein Semikolon. Trennen sich die Spalten nicht, wechsle das Trennzeichen.
- Anführungszeichen. Ein Wert mit dem Trennzeichen, einem Anführungszeichen oder einem Zeilenumbruch muss in doppelte Anführungszeichen — innere werden verdoppelt:
"Sie sagte ""hi""". - Kodierung. Als UTF-8 speichern. Excel braucht oft ein Byte Order Mark (BOM), um Akzente oder CJK-Zeichen korrekt anzuzeigen; ohne es entsteht Zeichensalat wie
é.
Das Quoting entscheidet, ob eine CSV die Rundreise übersteht, und eine Eingabe klärt es. Wir gaben unserem JSON-↔-CSV/Excel-Konverter zwei Datensätze, in denen ein Wert ein Komma und ein anderer ein Ampersand enthält:
[{"name":"Ada","dept":"R&D","hours":7.5},{"name":"Bo","dept":"Sales, EU","hours":8}]
und zurück kam
name,dept,hours
Ada,R&D,7.5
Bo,"Sales, EU",8
Nur Sales, EU bekam Anführungszeichen, R&D nicht. Das ist die ganze Regel — ein Feld wird quotiert, wenn es das Trennzeichen, ein Anführungszeichen oder einen Zeilenumbruch enthält, sonst bleibt es nackt. Ein Konverter, der alles quotiert, erzeugt weiterhin gültiges CSV, verdoppelt aber die Datei und bricht naive Parser, die Rohstrings vergleichen; einer, der nichts quotiert, macht aus zwei Datensätzen stillschweigend drei Spalten.
Warum Excel meine Zahlen verstümmelt
Öffnest du ein CSV in Excel, verlieren IDs wie 00123 ihre führenden Nullen, lange Ziffernfolgen wie Bestellnummern kippen in die Exponentialschreibweise (1.23E+11), und alles, was nach Datum aussieht, wird „hilfreich” umformatiert. Das sind Anzeige-Umwandlungen von Excel, keine Fehler in deinen Daten. Um sie zu erhalten, formatiere die Spalte vor dem Einfügen als Text oder importiere über Daten → Aus Text/CSV und markiere die Spalte als Text. Prüfe die Quelle vorher mit dem Leitfaden zu häufigen JSON-Fehlern, damit kein verirrtes Komma die ganze Umwandlung entgleisen lässt.
Im Browser — nichts wird hochgeladen
Datendateien enthalten oft sensible Informationen, daher ist ein Tool, das sie hochlädt, ein Risiko. Diese laufen komplett auf deinem Gerät:
- JSON ⇄ CSV ⇄ Excel Konverter — JSON oder CSV einfügen oder eine .xlsx hochladen und zwischen allen dreien umwandeln.
- JSON-Formatter — bereinige und validiere dein JSON zuerst, damit die Umwandlung vorhersehbar ist.
Tipps für saubere Ergebnisse
- Mach dein JSON zu einem Array von Objekten mit einheitlichen Schlüsseln — das entspricht 1:1 den Spalten.
- Validiere das JSON zuerst (ein einziges überflüssiges Komma zerstört alles).
- Bei Excel: Die Ausgabe ist eine echte
.xlsx— kein umbenanntes CSV.
Beherrsche die Array-von-Objekten-Form, und der Wechsel zwischen JSON, CSV und Excel wird zur Zwei-Klick-Aufgabe ohne Upload.