Kaip konvertuoti CSV į JSON naudojant Python FOSS

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 json moduliu

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.

FormatasPlėtinysPastabos
CSV (įvestis).csvĮkelti su load_csv_workbook("file.csv")
JSON (išvestis).jsonSukurtas naudojant Python json.dump() po langelių iteracijos
XLSX (įvestis/išvestis).xlsxStandartinis Excel Open XML formatas
Markdown (išvestis).mdNaudoti wb.save_as_markdown("file.md")

Žr. taip pat

 Lietuvių