Hvordan konvertere CSV til JSON i Python FOSS

Hvordan konvertere CSV til JSON i Python FOSS

Problem

Konverter en CSV-fil til JSON ved hjelp av Aspose.Cells FOSS i Python. Last inn CSV-filen med load_csv_workbook(), les hver rad ved å bruke iter_rows() for å bygge en Python liste med ordbøker, og deretter serialisere til JSON ved hjelp av standard json modul.

Forutsetninger

For å konvertere CSV til JSON ved hjelp av Aspose.Cells FOSS i Python, sørg for at miljøet ditt oppfyller følgende krav.

  • Python 3.7 eller nyere installert
  • Installer Aspose.Cells FOSS via pip install aspose-cells-foss>=26.3.1
  • Importer biblioteket ved å bruke from aspose.cells_foss import load_csv_workbook
  • Grunnleggende kjennskap til Python filhåndtering og standard json modul

Konverteringssteg

Steg 1: Last inn CSV-filen

Bruk load_csv_workbook() hjelpefunksjonen for å laste CSV-filen inn i en ny arbeidsbok. Dette initialiserer den minnebaserte representasjonen av regnearkdataene.

from aspose.cells_foss import load_csv_workbook

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

Steg 2: Les overskrifter og rader

Bruk iter_rows(values_only=True) for å hente ut alle rader som tupler av celleverdier. Den første raden behandles som overskriftsrad.

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

Steg 3: Bygg en liste med dicts og serialiser til JSON

Iterer de resterende radene, bygg en dict per rad nøkkelbundet til overskriftsnavnene, og bruk deretter json.dump() for å 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 ende-til-ende-eksemplet som kombinerer alle tre trinnene:

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

Stø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.

FormatFiltypeNotater
CSV (inndata).csvLast inn med load_csv_workbook("file.csv")
JSON (utdata).jsonBygget med Python json.dump() etter å ha iterert celler
XLSX (inngang/utdata).xlsxStandard Excel Open XML-format
Markdown (utdata).mdBruk wb.save_as_markdown("file.md")

Se også

 Norsk