Cum să convertești CSV în JSON în Python FOSS

Cum să convertești CSV în JSON în Python FOSS

Problemă

Convertește un fișier CSV în JSON utilizând Aspose.Cells FOSS în Python. Încarcă CSV-ul cu load_csv_workbook(), citește fiecare rând utilizând iter_rows() pentru a construi o listă Python de dicționare, apoi serializați în JSON utilizând standard json modul.

Precondiții

Pentru a converti CSV în JSON utilizând Aspose.Cells FOSS în Python, asigură-te că mediul tău îndeplinește următoarele cerințe.

  • Python 3.7 sau o versiune ulterioară instalată
  • Instalați Aspose.Cells FOSS prin pip install aspose-cells-foss>=26.3.1
  • Importă biblioteca utilizând from aspose.cells_foss import load_csv_workbook
  • Familiaritate de bază cu gestionarea fișierelor Python și standardul json modul

Pașii de conversie

Pasul 1: Încarcă fișierul CSV

Folosește​ load_csv_workbook() funcție de conveniență pentru a încărca fișierul CSV într-un nou caiet de lucru. Aceasta inițializează reprezentarea în memorie a datelor foii de calcul.

from aspose.cells_foss import load_csv_workbook

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

Pasul 2: Citește anteturile și rândurile

Utilizare iter_rows(values_only=True) pentru a extrage toate rândurile ca tuple de valori ale celulelor. Primul rând este tratat ca rândul de antet.

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

Pasul 3: Construiește o listă de dicționare și serializează în JSON

Iterați rândurile rămase, construiți un dicționar pentru fiecare rând indexat după numele antetului, apoi folosiți json.dump() pentru a scrie fișierul 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")

Exemplu de cod

Exemplul complet de la început până la sfârșit care combină toate cele trei etape:

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

Formate acceptate

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.

FormatExtensieNote
CSV (intrare).csvÎncărcați cu load_csv_workbook("file.csv")
JSON (ieșire).jsonConstruit cu Python json.dump() după iterarea celulelor
XLSX (intrare/ieșire).xlsxFormat standard Excel Open XML
Markdown (ieșire).mdUtilizați wb.save_as_markdown("file.md")

Vezi de asemenea

 Română