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
jsonmodule
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.
| Formaat | Extensie | Opmerkingen |
|---|---|---|
| CSV (input) | .csv | Laad met load_csv_workbook("file.csv") |
| JSON (output) | .json | Gebouwd met Python json.dump() na het itereren van cellen |
| XLSX (input/output) | .xlsx | Standaard Excel Open XML-formaat |
| Markdown (output) | .md | Gebruik wb.save_as_markdown("file.md") |