Hoe CSV naar JSON converteren in Python FOSS

Hoe CSV naar JSON converteren in Python FOSS

Probleem

Converteer een CSV‑bestand naar JSON met Aspose.Cells FOSS in Python. Laad de CSV met load_csv_workbook(), lees elke rij met iter_rows() om een Python‑lijst van dictionaries te bouwen, en serialiseer vervolgens naar JSON met de standaard json‑module.

Vereisten

Om CSV naar JSON te converteren met Aspose.Cells FOSS in Python, zorg ervoor dat uw omgeving voldoet aan de volgende vereisten.

  • Python 3.7 of hoger geïnstalleerd
  • Installeer Aspose.Cells FOSS via pip install aspose-cells-foss>=26.3.1
  • Importeer de bibliotheek met from aspose.cells_foss import load_csv_workbook
  • Basiskennis van Python-bestandsverwerking en de standaard json module

Conversiestappen

Stap 1: Laad het CSV‑bestand

Gebruik de load_csv_workbook()-handige functie om het CSV‑bestand in een nieuw werkboek te laden. Dit initialiseert de in‑memory‑representatie van de spreadsheet‑gegevens.

from aspose.cells_foss import load_csv_workbook

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

Stap 2: Kopteksten en rijen lezen

Gebruik iter_rows(values_only=True) om alle rijen te extraheren als tuples van celwaarden. De eerste rij wordt behandeld als de koprij.

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])]

Stap 3: Maak een lijst van dicts en serialiseer naar JSON

Itereer door de resterende rijen, bouw een dict per rij met de kolomnamen als sleutel, en gebruik vervolgens json.dump() om het JSON‑bestand te schrijven.

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")

Codevoorbeeld

Het volledige end-to-end voorbeeld dat alle drie stappen combineert:

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")

Ondersteunde formaten

Aspose.Cells FOSS ondersteunt het laden van CSV‑bestanden en het exporteren naar JSON via de hierboven getoonde aanpak. De bibliotheek ondersteunt ook direct opslaan naar andere formaten.

FormaatExtensieOpmerkingen
CSV (input).csvLaad met load_csv_workbook("file.csv")
JSON (output).jsonGebouwd met Python json.dump() na het itereren van cellen
XLSX (input/output).xlsxStandaard Excel Open XML-formaat
Markdown (output).mdGebruik wb.save_as_markdown("file.md")

Zie ook

 Nederlands