Kako konvertovati CSV u JSON u Pythonu (FOSS)
Problem
Konvertujte CSV fajl u JSON koristeći Aspose.Cells FOSS u Pythonu. Učitajte CSV pomoću load_csv_workbook(), pročitajte svaki red koristeći iter_rows() da izgradite Python listu rečnika, zatim serijalizujte u JSON koristeći standardni json modul.
Preduslovi
Da biste konvertovali CSV u JSON koristeći Aspose.Cells FOSS u Pythonu, uverite se da vaše okruženje ispunjava sledeće zahteve.
- Python 3.7 ili noviji instaliran
- Instalirajte Aspose.Cells FOSS putem
pip install aspose-cells-foss>=26.3.1 - Uvezite biblioteku koristeći
from aspose.cells_foss import load_csv_workbook - Osnovno poznavanje rada sa fajlovima u Pythonu i standardnog
jsonmodula
Koraci konverzije
Korak 1: Učitaj CSV fajl
Koristite load_csv_workbook() funkciju za praktičnost da učitate CSV fajl u novu radnu svesku. Ovo inicijalizuje in‑memory reprezentaciju podataka proračunske tablice.
from aspose.cells_foss import load_csv_workbook
workbook = load_csv_workbook("data.csv")
worksheet = workbook.worksheets[0]Korak 2: Čitanje zaglavlja i redova
Koristite iter_rows(values_only=True) da izvučete sve redove kao torke vrednosti ćelija. Prvi red se tretira kao red zaglavlja.
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])]Korak 3: Napravite listu rečnika i serijalizujte u JSON
Iterirajte preostale redove, izgradite rečnik po redu ključan imenima zaglavlja, zatim upotrebite json.dump() da upišete JSON fajl.
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")Primer koda
Kompletan end-to-end primer koji kombinuje sva tri koraka:
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")Подржани формати
Aspose.Cells FOSS podržava učitavanje CSV fajlova i izvoz u JSON putem pristupa prikazanog iznad. Biblioteka takođe podržava direktno čuvanje u druge formate.
| Format | Ekstenzija | Napomene |
|---|---|---|
| CSV (input) | .csv | Učitaj pomoću load_csv_workbook("file.csv") |
| JSON (output) | .json | Izgrađeno pomoću Pythona json.dump() nakon iteracije ćelija |
| XLSX (input/output) | .xlsx | Standardni Excel Open XML format |
| Markdown (output) | .md | Koristi wb.save_as_markdown("file.md") |