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.1installieren - Die Bibliothek mit
from aspose.cells_foss import load_csv_workbookimportieren - 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.
| Format | Erweiterung | Hinweis |
|---|---|---|
| CSV (Eingabe) | .csv | Laden mit load_csv_workbook("file.csv") |
| JSON (Ausgabe) | .json | Erstellt mit Python json.dump() nach Durchlaufen der Zellen |
| XLSX (Eingabe/Ausgabe) | .xlsx | Standard‑Excel‑Open‑XML‑Format |
| Markdown (Ausgabe) | .md | Verwenden Sie wb.save_as_markdown("file.md") |