Cómo convertir CSV a JSON en Python FOSS

Cómo convertir CSV a JSON en Python FOSS

Problema

Convertir un archivo CSV a JSON usando Aspose.Cells FOSS en Python. Cargar el CSV con load_csv_workbook(), leer cada fila usando iter_rows() para construir una lista de diccionarios de Python, luego serializar a JSON usando el módulo estándar json.

Requisitos

Para convertir CSV a JSON usando Aspose.Cells FOSS en Python, asegúrese de que su entorno cumpla los siguientes requisitos.

  • Python 3.7 o posterior instalado
  • Instale Aspose.Cells FOSS a través de pip install aspose-cells-foss>=26.3.1
  • Importe la biblioteca usando from aspose.cells_foss import load_csv_workbook
  • Familiaridad básica con el manejo de archivos en Python y el módulo estándar json

Pasos de conversión

Paso 1: Cargar el archivo CSV

Utilice la función de conveniencia load_csv_workbook() para cargar el archivo CSV en un nuevo libro de trabajo. Esto inicializa la representación en memoria de los datos de la hoja de cálculo.

from aspose.cells_foss import load_csv_workbook

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

Paso 2: Leer encabezados y filas

Utilice iter_rows(values_only=True) para extraer todas las filas como tuplas de valores de celda. La primera fila se trata como la fila de encabezado.

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

Paso 3: Construir una lista de diccionarios y serializar a JSON

Itera las filas restantes, construye un diccionario por fila usando los nombres de los encabezados como claves, luego usa json.dump() para escribir el archivo 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")

Ejemplo de código

El ejemplo completo de extremo a extremo que combina los tres pasos:

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

Formatos compatibles

Aspose.Cells FOSS admite la carga de archivos CSV y la exportación a JSON mediante el enfoque mostrado arriba. La biblioteca también admite guardado directo a otros formatos.

FormatoExtensiónNotas
CSV (entrada).csvCargar con load_csv_workbook("file.csv")
JSON (salida).jsonConstruido con Python json.dump() después de iterar celdas
XLSX (entrada/salida).xlsxFormato estándar Excel Open XML
Markdown (salida).mdUsar wb.save_as_markdown("file.md")

Ver también

 Español