Cum să convertești CSV în JSON în Python FOSS
Problemă
Convertește un fișier CSV în JSON utilizând Aspose.Cells FOSS în Python. Încarcă CSV-ul cu load_csv_workbook(), citește fiecare rând utilizând iter_rows() pentru a construi o listă Python de dicționare, apoi serializați în JSON utilizând standard json modul.
Precondiții
Pentru a converti CSV în JSON utilizând Aspose.Cells FOSS în Python, asigură-te că mediul tău îndeplinește următoarele cerințe.
- Python 3.7 sau o versiune ulterioară instalată
- Instalați Aspose.Cells FOSS prin
pip install aspose-cells-foss>=26.3.1 - Importă biblioteca utilizând
from aspose.cells_foss import load_csv_workbook - Familiaritate de bază cu gestionarea fișierelor Python și standardul
jsonmodul
Pașii de conversie
Pasul 1: Încarcă fișierul CSV
Folosește load_csv_workbook() funcție de conveniență pentru a încărca fișierul CSV într-un nou caiet de lucru. Aceasta inițializează reprezentarea în memorie a datelor foii de calcul.
from aspose.cells_foss import load_csv_workbook
workbook = load_csv_workbook("data.csv")
worksheet = workbook.worksheets[0]Pasul 2: Citește anteturile și rândurile
Utilizare iter_rows(values_only=True) pentru a extrage toate rândurile ca tuple de valori ale celulelor. Primul rând este tratat ca rândul de antet.
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])]Pasul 3: Construiește o listă de dicționare și serializează în JSON
Iterați rândurile rămase, construiți un dicționar pentru fiecare rând indexat după numele antetului, apoi folosiți json.dump() pentru a scrie fișierul 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")Exemplu de cod
Exemplul complet de la început până la sfârșit care combină toate cele trei etape:
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")Formate acceptate
Aspose.Cells FOSS supports loading CSV files and exporting to JSON via the approach shown above. The library also supports direct save to other formats.
| Format | Extensie | Note |
|---|---|---|
| CSV (intrare) | .csv | Încărcați cu load_csv_workbook("file.csv") |
| JSON (ieșire) | .json | Construit cu Python json.dump() după iterarea celulelor |
| XLSX (intrare/ieșire) | .xlsx | Format standard Excel Open XML |
| Markdown (ieșire) | .md | Utilizați wb.save_as_markdown("file.md") |