Wie man CSV in JSON mit Python (FOSS) konvertiert

Wie man CSV in JSON mit Python (FOSS) konvertiert

Problem

Konvertieren Sie eine CSV-Datei in JSON mit Aspose.Cells FOSS in Python. Laden Sie die CSV mit load_csv_workbook(), lesen Sie jede Zeile mit iter_rows(), um eine Python‑Liste von Dictionaries zu erstellen, und serialisieren Sie dann in JSON mit dem Standardmodul json.

Voraussetzungen

Um CSV in JSON mit Aspose.Cells FOSS in Python zu konvertieren, stellen Sie sicher, dass Ihre Umgebung die folgenden Anforderungen erfüllt.

  • Python 3.7 oder neuer installiert
  • Aspose.Cells FOSS via pip install aspose-cells-foss>=26.3.1 installieren
  • Die Bibliothek mit from aspose.cells_foss import load_csv_workbook importieren
  • Grundlegende Kenntnisse im Umgang mit Python-Dateien und dem Standardmodul json

Konvertierungsschritte

Schritt 1: CSV-Datei laden

Verwenden Sie die load_csv_workbook()‑Hilfsfunktion, um die CSV‑Datei in ein neues Arbeitsbuch zu laden. Dies initialisiert die In‑Memory‑Darstellung der Tabellendaten.

from aspose.cells_foss import load_csv_workbook

workbook = load_csv_workbook("data.csv")
worksheet = workbook.worksheets[0]

Schritt 2: Kopfzeilen und Zeilen lesen

Verwenden Sie iter_rows(values_only=True), um alle Zeilen als Tupel von Zellwerten zu extrahieren. Die erste Zeile wird als Kopfzeile behandelt.

all_rows = list(worksheet.cells.iter_rows(values_only=True))

# Read the header row (first row)
headers = [str(v) if v is not None else f"col{i}" for i, v in enumerate(all_rows[0])]

Schritt 3: Erstelle eine Liste von Dicts und serialisiere zu JSON

Iterieren Sie die verbleibenden Zeilen, erstellen Sie für jede Zeile ein Wörterbuch, das nach den Header‑Namen indiziert ist, und verwenden Sie dann json.dump(), um die JSON‑Datei zu schreiben.

import json

rows = [dict(zip(headers, row)) for row in all_rows[1:]]

with open("output.json", "w", encoding="utf-8") as f:
    json.dump(rows, f, indent=2, default=str)

print(f"Converted {len(rows)} rows to output.json")

Codebeispiel

Das vollständige End-to-End-Beispiel, das alle drei Schritte kombiniert:

import json
from aspose.cells_foss import load_csv_workbook

# Step 1: Load CSV
workbook = load_csv_workbook("data.csv")
worksheet = workbook.worksheets[0]

# Step 2: Extract all rows; first row is headers
all_rows = list(worksheet.cells.iter_rows(values_only=True))
if not all_rows:
    print("No data found in CSV")
else:
    headers = [str(v) if v is not None else f"col{i}" for i, v in enumerate(all_rows[0])]

    # Step 3: Build list of dicts from remaining rows
    rows = [dict(zip(headers, row)) for row in all_rows[1:]]

    # Step 4: Write JSON
    with open("output.json", "w", encoding="utf-8") as f:
        json.dump(rows, f, indent=2, default=str)

    print(f"Converted {len(rows)} rows to output.json")

Unterstützte Formate

Aspose.Cells FOSS unterstützt das Laden von CSV-Dateien und das Exportieren nach JSON über den oben gezeigten Ansatz. Die Bibliothek unterstützt außerdem das direkte Speichern in andere Formate.

FormatErweiterungHinweis
CSV (Eingabe).csvLaden mit load_csv_workbook("file.csv")
JSON (Ausgabe).jsonErstellt mit Python json.dump() nach Durchlaufen der Zellen
XLSX (Eingabe/Ausgabe).xlsxStandard‑Excel‑Open‑XML‑Format
Markdown (Ausgabe).mdVerwenden Sie wb.save_as_markdown("file.md")

Siehe auch

 Deutsch