Come convertire CSV in JSON in Python FOSS

Come convertire CSV in JSON in Python FOSS

Problema

Converti un file CSV in JSON usando Aspose.Cells FOSS in Python. Carica il CSV con load_csv_workbook(), leggi ogni riga usando iter_rows() per costruire una lista Python di dizionari, quindi serializza in JSON usando il modulo standard json.

Prerequisiti

Per convertire CSV in JSON usando Aspose.Cells FOSS in Python, assicurati che il tuo ambiente soddisfi i seguenti requisiti.

  • Python 3.7 o versioni successive installato
  • Installa Aspose.Cells FOSS via pip install aspose-cells-foss>=26.3.1
  • Importa la libreria usando from aspose.cells_foss import load_csv_workbook
  • Familiarità di base con la gestione dei file Python e il modulo standard json

Passaggi di conversione

Passo 1: Carica il file CSV

Utilizza la funzione di comodità load_csv_workbook() per caricare il file CSV in una nuova cartella di lavoro. Questo inizializza la rappresentazione in memoria dei dati del foglio di calcolo.

from aspose.cells_foss import load_csv_workbook

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

Passo 2: Leggi intestazioni e righe

Usa iter_rows(values_only=True) per estrarre tutte le righe come tuple di valori di cella. La prima riga è trattata come riga di intestazione.

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

Passo 3: Costruire un elenco di dizionari e serializzarlo in JSON

Itera le righe rimanenti, crea un dizionario per ogni riga indicizzato dai nomi delle intestazioni, quindi usa json.dump() per scrivere il file 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")

Esempio di codice

L’esempio completo end-to-end che combina tutti e tre i passaggi:

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

Formati supportati

Aspose.Cells FOSS supporta il caricamento di file CSV e l’esportazione in JSON tramite l’approccio mostrato sopra. La libreria supporta anche il salvataggio diretto in altri formati.

FormatoEstensioneNote
CSV (input).csvCarica con load_csv_workbook("file.csv")
JSON (output).jsonCreato con Python json.dump() dopo aver iterato le celle
XLSX (input/output).xlsxFormato standard Excel Open XML
Markdown (output).mdUsa wb.save_as_markdown("file.md")

Vedi anche

 Italiano