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.
| Format | Extension | Remarques |
|---|---|---|
| CSV (entrée) | .csv | Charger avec load_csv_workbook("file.csv") |
| JSON (sortie) | .json | Construit avec Python json.dump() après avoir itéré les cellules |
| XLSX (entrée/sortie) | .xlsx | Format Excel Open XML standard |
| Markdown (sortie) | .md | Utiliser wb.save_as_markdown("file.md") |