Sådan konverteres CSV til JSON i Python FOSS

Sådan konverteres CSV til JSON i Python FOSS

Problem

Konvertér en CSV-fil til JSON ved hjælp af Aspose.Cells FOSS i Python. Indlæs CSV-filen med load_csv_workbook(), læs hver række ved hjælp af iter_rows() for at opbygge en Python liste af ordbøger, og derefter serialisere til JSON ved hjælp af standard json modul.

Forudsætninger

For at konvertere CSV til JSON ved hjælp af Aspose.Cells FOSS i Python, skal du sikre, at dit miljø opfylder følgende krav.

  • Python 3.7 eller nyere installeret
  • Installer Aspose.Cells FOSS via pip install aspose-cells-foss>=26.3.1
  • Importér biblioteket ved hjælp af from aspose.cells_foss import load_csv_workbook
  • Grundlæggende kendskab til Python filhåndtering og standard json modul

Konverteringstrin

Trin 1: Indlæs CSV-filen

Brug load_csv_workbook() den praktiske funktion til at indlæse CSV-filen i en ny projektmappe. Dette initialiserer den in‑memory‑repræsentation af regnearksdataene.

from aspose.cells_foss import load_csv_workbook

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

Trin 2: Læs overskrifter og rækker

Brug iter_rows(values_only=True) til at udtrække alle rækker som tupler af celleværdier. Den første række behandles som header‑række.

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

Trin 3: Opbyg en liste af ordbøger og serialiser til JSON

Iterer de resterende rækker, opbyg en dict per række med header‑navnene som nøgler, og brug derefter json.dump() til at skrive JSON-filen.

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

Kodeeksempel

Det komplette end-to-end eksempel, der kombinerer alle tre trin:

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

Understøttede formater

Aspose.Cells FOSS supports loading CSV files and exporting to JSON via the approach shown above. The library also supports direct save to other formats.

FormatérUdvidelseNoter
CSV (inddata).csvIndlæs med load_csv_workbook("file.csv")
JSON (output).jsonBygget med Python json.dump() efter at have itereret celler
XLSX (input/output).xlsxStandard Excel Open XML-format
Markdown (output).mdBrug wb.save_as_markdown("file.md")

Se også

 Dansk