Jak převést CSV na JSON v Pythonu FOSS

Jak převést CSV na JSON v Pythonu FOSS

Problém

Převést soubor CSV na JSON pomocí Aspose.Cells FOSS v Pythonu. Načtěte CSV pomocí load_csv_workbook(), přečtěte každý řádek pomocí iter_rows() a vytvořte seznam slovníků v Pythonu, poté serializujte do JSON pomocí standardního modulu json.

Požadavky

Pro převod CSV na JSON pomocí Aspose.Cells FOSS v Pythonu zajistěte, aby vaše prostředí splňovalo následující požadavky.

  • Python 3.7 nebo novější nainstalován
  • Nainstalujte Aspose.Cells FOSS pomocí pip install aspose-cells-foss>=26.3.1
  • Importujte knihovnu pomocí from aspose.cells_foss import load_csv_workbook
  • Základní znalost práce se soubory v Pythonu a standardního modulu json

Kroky převodu

Krok 1: Načíst soubor CSV

Použijte funkci load_csv_workbook() k načtení souboru CSV do nového sešitu. Tím se inicializuje paměťová reprezentace dat tabulky.

from aspose.cells_foss import load_csv_workbook

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

Krok 2: Načíst záhlaví a řádky

Použijte iter_rows(values_only=True) k extrahování všech řádků jako n‑tic hodnot buněk. První řádek je považován za řádek záhlaví.

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

Krok 3: Vytvořit seznam slovníků a serializovat do JSON

Iterujte zbývající řádky, vytvořte slovník pro každý řádek, jehož klíče jsou názvy záhlaví, a poté použijte json.dump() k zápisu souboru JSON.

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

Ukázka kódu

Kompletní end-to-end příklad kombinující všechny tři kroky:

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

Podporované formáty

Aspose.Cells FOSS podporuje načítání souborů CSV a export do JSON pomocí výše uvedeného přístupu. Knihovna také podporuje přímé uložení do dalších formátů.

FormátPříponaPoznámky
CSV (vstup).csvNačíst pomocí load_csv_workbook("file.csv")
JSON (výstup).jsonVytvořeno pomocí Pythonu json.dump() po iteraci buněk
XLSX (vstup/výstup).xlsxStandardní formát Excel Open XML
Markdown (výstup).mdPoužijte wb.save_as_markdown("file.md")

Viz také

 Čeština