Hogyan konvertáljunk CSV-t JSON-re Pythonban FOSS

Hogyan konvertáljunk CSV-t JSON-re Pythonban FOSS

Probléma

Konvertáljon egy CSV fájlt JSON formátumba az Aspose.Cells FOSS segítségével Pythonban. Töltse be a CSV-t a load_csv_workbook() használatával, olvassa be minden sort a iter_rows() segítségével, hogy egy Python szótárakból álló listát építsen, majd sorosítsa JSON-re a szabványos json modul segítségével.

Előfeltételek

A CSV JSON formátumba konvertálásához az Aspose.Cells FOSS használatával Pythonban, győződjön meg arról, hogy a környezete megfelel az alábbi követelményeknek.

  • Python 3.7 vagy újabb telepítve
  • Telepítse az Aspose.Cells FOSS-t a pip install aspose-cells-foss>=26.3.1 segítségével
  • Importálja a könyvtárat a from aspose.cells_foss import load_csv_workbook használatával
  • Alapvető ismeretek a Python fájlkezelésről és a szabványos json modulról

Átalakítási lépések

1. lépés: CSV‑fájl betöltése

Használja a load_csv_workbook() kényelmi függvényt a CSV-fájl betöltéséhez egy új munkafüzetbe. Ez inicializálja a táblázat adatainak memóriában lévő ábrázolását.

from aspose.cells_foss import load_csv_workbook

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

2. lépés: Fejlécek és sorok olvasása

Használja a iter_rows(values_only=True)-t az összes sor kinyeréséhez cellaértékek tuple‑ként. Az első sor a fejlécsor.

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

3. lépés: Szótárak listájának létrehozása és JSON formátumba sorosítása

Iterálja a maradék sorokat, építsen egy szótárat soronként a fejlécnevekkel kulcsként, majd használja a json.dump()‑t a JSON fájl írásához.

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

Kódpélda

A teljes végponttól végpontig tartó példa, amely mindhárom lépést egyesíti:

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

Támogatott formátumok

Az Aspose.Cells FOSS támogatja a CSV-fájlok betöltését és a JSON-ba exportálást a fent bemutatott módszerrel. A könyvtár emellett közvetlen mentést is támogat más formátumokba.

FormátumKiterjesztésMegjegyzés
CSV (bemenet).csvBetöltés a load_csv_workbook("file.csv") használatával
JSON (kimenet).jsonA Python json.dump() használatával, a cellák iterálása után építve
XLSX (bemenet/kimenet).xlsxStandard Excel Open XML formátum
Markdown (kimenet).mdHasználja a wb.save_as_markdown("file.md")

Lásd még

 Magyar