Kā konvertēt CSV uz JSON ar Python FOSS
Problēma
Pārvērst CSV failu uz JSON, izmantojot Aspose.Cells FOSS Python. Ielādējiet CSV ar load_csv_workbook(), nolasiet katru rindu, izmantojot iter_rows() lai izveidotu Python sarakstu ar vārdnīcām, pēc tam serializēt uz JSON, izmantojot standarta json moduli.
Prasības
Lai konvertētu CSV uz JSON, izmantojot Aspose.Cells FOSS Python vidē, pārliecinieties, ka jūsu vide atbilst šādām prasībām.
- Python 3.7 vai jaunāka instalēta
- Instalējiet Aspose.Cells FOSS, izmantojot
pip install aspose-cells-foss>=26.3.1 - Importējiet bibliotēku, izmantojot
from aspose.cells_foss import load_csv_workbook - Pamata zināšanas par Python failu apstrādi un standarta
jsonmoduli
Konvertēšanas soļi
1. solis: Ielādēt CSV failu
Izmantojiet load_csv_workbook() ērtības funkciju, lai ielādētu CSV failu jaunā darblapā. Tas inicializē atmiņā esošo izklājlapas datu attēlojumu.
from aspose.cells_foss import load_csv_workbook
workbook = load_csv_workbook("data.csv")
worksheet = workbook.worksheets[0]2. solis: Nolasīt galvenes un rindas
Izmantot iter_rows(values_only=True) lai izvilktu visas rindas kā šūnu vērtību tupeles. Pirmā rinda tiek uzskatīta par galvenes rindu.
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])]3. solis: Izveidot sarakstu ar vārdnīcām un serializēt uz JSON
Iterējiet pārējās rindas, izveidojiet vārdnīcu katrai rindai, kuras atslēga ir galvenes nosaukumi, pēc tam izmantojiet json.dump() lai ierakstītu JSON failu.
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")Koda piemērs
Pilns sākuma līdz beigu piemērs, kas apvieno visus trīs soļus:
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")Atbalstītie formāti
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.
| Formāts | Paplašinājums | Piezīmes |
|---|---|---|
| CSV (ievade) | .csv | Ielādēt ar load_csv_workbook("file.csv") |
| JSON (izvade) | .json | Izveidots ar Python json.dump() pēc šūnu iterācijas |
| XLSX (ievade/izvade) | .xlsx | Standarta Excel Open XML formāts |
| Markdown (izvade) | .md | Izmantot wb.save_as_markdown("file.md") |