Comment convertir CSV en JSON en Python FOSS

Comment convertir CSV en JSON en Python FOSS

Problème

Convertir un fichier CSV en JSON en utilisant Aspose.Cells FOSS en Python. Charger le CSV avec load_csv_workbook(), lire chaque ligne avec iter_rows() pour construire une liste Python de dictionnaires, puis sérialiser en JSON en utilisant le module standard json.

Prérequis

Pour convertir CSV en JSON à l’aide d’Aspose.Cells FOSS en Python, assurez‑vous que votre environnement répond aux exigences suivantes.

  • Python 3.7 ou version ultérieure installé
  • Installez Aspose.Cells FOSS via pip install aspose-cells-foss>=26.3.1
  • Importez la bibliothèque en utilisant from aspose.cells_foss import load_csv_workbook
  • Familiarité de base avec la gestion des fichiers Python et le module standard json

Étapes de conversion

Étape 1 : charger le fichier CSV

Utilisez la fonction pratique load_csv_workbook() pour charger le fichier CSV dans un nouveau classeur. Cela initialise la représentation en mémoire des données de la feuille de calcul.

from aspose.cells_foss import load_csv_workbook

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

Étape 2 : Lire les en‑têtes et les lignes

Utilisez iter_rows(values_only=True) pour extraire toutes les lignes sous forme de tuples de valeurs de cellules. La première ligne est considérée comme la ligne d’en‑tête.

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

Étape 3 : Construire une liste de dictionnaires et sérialiser en JSON

Itérez les lignes restantes, construisez un dictionnaire par ligne indexé par les noms d’en‑tête, puis utilisez json.dump() pour écrire le fichier 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 code

L’exemple complet de bout en bout combinant les trois étapes :

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 pris en charge

Aspose.Cells FOSS prend en charge le chargement de fichiers CSV et l’exportation vers JSON via la méthode décrite ci‑dessus. La bibliothèque prend également en charge l’enregistrement direct vers d’autres formats.

FormatExtensionRemarques
CSV (entrée).csvCharger avec load_csv_workbook("file.csv")
JSON (sortie).jsonConstruit avec Python json.dump() après avoir itéré les cellules
XLSX (entrée/sortie).xlsxFormat Excel Open XML standard
Markdown (sortie).mdUtiliser wb.save_as_markdown("file.md")

Voir aussi

 Français