Hur man konverterar CSV till JSON i Python FOSS

Hur man konverterar CSV till JSON i Python FOSS

Problem

Konvertera en CSV-fil till JSON med Aspose.Cells FOSS i Python. Läs in CSV-filen med load_csv_workbook(), läs varje rad med iter_rows() för att bygga en Python‑lista av ordböcker, och serialisera sedan till JSON med den standard json‑modulen.

Förutsättningar

För att konvertera CSV till JSON med Aspose.Cells FOSS i Python, se till att din miljö uppfyller följande krav.

  • Python 3.7 eller senare installerat
  • Installera Aspose.Cells FOSS via pip install aspose-cells-foss>=26.3.1
  • Importera biblioteket med from aspose.cells_foss import load_csv_workbook
  • Grundläggande kunskap om Python‑filhantering och standardmodulen json

Konverteringssteg

Steg 1: Ladda CSV-filen

Använd load_csv_workbook()‑hjälpfunktionen för att läsa in CSV‑filen i en ny arbetsbok. Detta initierar den minnesbaserade representationen av kalkylbladsdata.

from aspose.cells_foss import load_csv_workbook

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

Steg 2: Läs rubriker och rader

Använd iter_rows(values_only=True) för att extrahera alla rader som tuppler av cellvärden. Den första raden behandlas som rubrikraden.

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 lista med dicts och serialisera till JSON

Iterera de återstående raderna, bygg en dict per rad nycklad av rubriknamnen, och använd sedan json.dump() för att skriva 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")

Kodexempel

Det kompletta end-to-end‑exemplet som kombinerar alla tre stegen:

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ödda format

Aspose.Cells FOSS stöder inläsning av CSV-filer och export till JSON via metoden som visas ovan. Biblioteket stöder också direkt sparande till andra format.

FormatFiländelseAnteckningar
CSV (inmatning).csvLäs in med load_csv_workbook("file.csv")
JSON (utdata).jsonByggd med Python json.dump() efter att ha itererat celler
XLSX (inmatning/utdata).xlsxStandard Excel Open XML-format
Markdown (utdata).mdAnvänd wb.save_as_markdown("file.md")

Se även

 Svenska