Kā konvertēt CSV uz JSON ar Python FOSS

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

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ātsPaplašinājumsPiezīmes
CSV (ievade).csvIelādēt ar load_csv_workbook("file.csv")
JSON (izvade).jsonIzveidots ar Python json.dump() pēc šūnu iterācijas
XLSX (ievade/izvade).xlsxStandarta Excel Open XML formāts
Markdown (izvade).mdIzmantot wb.save_as_markdown("file.md")

Skatiet arī

 Latviešu