Com convertir CSV a JSON amb Python FOSS

Com convertir CSV a JSON amb Python FOSS

Problema

Converteix un fitxer CSV a JSON utilitzant Aspose.Cells FOSS a Python. Carrega el CSV amb load_csv_workbook(), llegeix cada fila utilitzant iter_rows() per construir una llista de diccionaris de Python, i després serialitza a JSON amb el mòdul estàndard json.

Requisits previs

Per convertir CSV a JSON amb Aspose.Cells FOSS a Python, assegureu-vos que el vostre entorn compleixi els requisits següents.

  • Python 3.7 o posterior instal·lat
  • Instal·la Aspose.Cells FOSS via pip install aspose-cells-foss>=26.3.1
  • Importa la biblioteca utilitzant from aspose.cells_foss import load_csv_workbook
  • Familiaritat bàsica amb la gestió de fitxers Python i el mòdul estàndard json

Passos de conversió

Pas 1: Carrega el fitxer CSV

Utilitzeu la funció de conveniència load_csv_workbook() per carregar el fitxer CSV en un nou llibre de treball. Això inicialitza la representació en memòria de les dades del full de càlcul.

from aspose.cells_foss import load_csv_workbook

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

Pas 2: Llegir les capçaleres i les files

Utilitzeu iter_rows(values_only=True) per extreure totes les files com a tuples de valors de les cel·les. La primera fila es tracta com a fila de capçalera.

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

Pas 3: Construir una llista de diccionaris i serialitzar a JSON

Itera les files restants, crea un diccionari per fila clau per noms de capçalera, després utilitza json.dump() per escriure el fitxer 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")

Exemple de codi

L’exemple complet de principi a fi que combina els tres passos:

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

Formats compatibles

Aspose.Cells FOSS admet la càrrega de fitxers CSV i l’exportació a JSON mitjançant l’enfocament mostrat anteriorment. La biblioteca també admet el desament directe a altres formats.

FormatExtensióNotes
CSV (entrada).csvCarrega amb load_csv_workbook("file.csv")
JSON (sortida).jsonConstruït amb Python json.dump() després d’iterar les cel·les
XLSX (entrada/sortida).xlsxFormat Excel Open XML estàndard
Markdown (sortida).mdUtilitza wb.save_as_markdown("file.md")

Vegeu també

 Català