Kaip konvertuoti CSV į JSON naudojant Python FOSS
Problema
Paversti CSV failą į JSON naudojant Aspose.Cells FOSS Python kalboje. Įkelkite CSV su load_csv_workbook(), perskaitykite kiekvieną eilutę naudojant iter_rows(), kad sukurtumėte Python sąrašą žodynų, tada serializuokite į JSON naudojant standartinį json modulį.
Būtinosios sąlygos
Norėdami konvertuoti CSV į JSON naudodami Aspose.Cells FOSS Python kalboje, įsitikinkite, kad jūsų aplinka atitinka šiuos reikalavimus.
- Įdiegta Python 3.7 arba naujesnė
- Įdiekite Aspose.Cells FOSS naudodami
pip install aspose-cells-foss>=26.3.1 - Importuokite biblioteką naudodami
from aspose.cells_foss import load_csv_workbook - Pagrindinis susipažinimas su Python failų tvarkymu ir standartiniu
jsonmoduliu
Konvertavimo žingsniai
Žingsnis 1: Įkelti CSV failą
Naudokite load_csv_workbook() patogumo funkciją, kad įkeltumėte CSV failą į naują darbaknygę. Tai inicializuoja atmintyje esančią skaičiuoklės duomenų reprezentaciją.
from aspose.cells_foss import load_csv_workbook
workbook = load_csv_workbook("data.csv")
worksheet = workbook.worksheets[0]2 žingsnis: perskaityti antraštes ir eilutes
Naudokite iter_rows(values_only=True), kad išgautumėte visas eilutes kaip ląstelių verčių junginius. Pirma eilutė laikoma antraštės eilute.
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])]Žingsnis 3: Sukurti žodynų sąrašą ir serializuoti į JSON
Iteruokite likusias eilutes, sukurkite žodyną kiekvienai eilutei, naudodami antraščių pavadinimus kaip raktus, tada naudokite json.dump() JSON failui įrašyti.
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")Kodo pavyzdys
Visas nuo pradžios iki pabaigos pavyzdys, apimantis visus tris žingsnius:
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")Palaikomi formatai
Aspose.Cells FOSS palaiko CSV failų įkėlimą ir eksportavimą į JSON naudojant aukščiau parodytą metodą. Biblioteka taip pat palaiko tiesioginį išsaugojimą į kitus formatus.
| Formatas | Plėtinys | Pastabos |
|---|---|---|
| CSV (įvestis) | .csv | Įkelti su load_csv_workbook("file.csv") |
| JSON (išvestis) | .json | Sukurtas naudojant Python json.dump() po langelių iteracijos |
| XLSX (įvestis/išvestis) | .xlsx | Standartinis Excel Open XML formatas |
| Markdown (išvestis) | .md | Naudoti wb.save_as_markdown("file.md") |