Kako pretvoriti CSV u JSON u Pythonu FOSS

Kako pretvoriti CSV u JSON u Pythonu FOSS

Problem

Konvertirajte CSV datoteku u JSON koristeći Aspose.Cells FOSS u Pythonu. Učitajte CSV s load_csv_workbook(), pročitajte svaki redak koristeći iter_rows() kako biste izgradili Python popis rječnika, zatim serijalizirajte u JSON koristeći standardni json modul.

Preduvjeti

Za pretvaranje CSV u JSON pomoću Aspose.Cells FOSS u Pythonu, osigurajte da vaše okruženje zadovoljava sljedeće zahtjeve.

  • Python 3.7 ili noviji instaliran
  • Instalirajte Aspose.Cells FOSS putem pip install aspose-cells-foss>=26.3.1
  • Uvezite biblioteku koristeći from aspose.cells_foss import load_csv_workbook
  • Osnovno poznavanje rada s datotekama u Pythonu i standardnog json modula

Koraci konverzije

Korak 1: Učitaj CSV datoteku

Upotrijebite load_csv_workbook() funkciju za praktičnost kako biste učitali CSV datoteku u novu radnu knjigu. Ovo inicijalizira memorijsku reprezentaciju podataka proračunske tablice.

from aspose.cells_foss import load_csv_workbook

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

Korak 2: Čitanje zaglavlja i redaka

Koristite iter_rows(values_only=True) za izdvajanje svih redaka kao n‑torke vrijednosti ćelija. Prvi redak se tretira kao redak zaglavlja.

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

Korak 3: Izradite popis rječnika i serijalizirajte u JSON

Iterirajte preostale retke, izradite rječnik po retku s ključevima prema nazivima zaglavlja, a zatim upotrijebite json.dump() za zapis JSON datoteke.

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

Primjer koda

Potpuni end-to-end primjer koji kombinira sva tri koraka:

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

Podržani formati

Aspose.Cells FOSS podržava učitavanje CSV datoteka i izvoz u JSON putem pristupa prikazanog iznad. Biblioteka također podržava izravno spremanje u druge formate.

FormatEkstenzijaNapomene
CSV (ulaz).csvUčitaj pomoću load_csv_workbook("file.csv")
JSON (izlaz).jsonIzgrađeno pomoću Pythona json.dump() nakon iteracije ćelija
XLSX (ulaz/izlaz).xlsxStandardni Excel Open XML format
Markdown (izlaz).mdKoristi wb.save_as_markdown("file.md")

Vidi također

 Hrvatski