Cara Menukar CSV kepada JSON dalam Python FOSS

Cara Menukar CSV kepada JSON dalam Python FOSS

Masalah

Menukar fail CSV kepada JSON menggunakan Aspose.Cells FOSS dalam Python. Muatkan CSV dengan load_csv_workbook(), baca setiap baris menggunakan iter_rows() untuk membina senarai kamus Python, kemudian serialisasikan kepada JSON menggunakan modul json standard.

Prasyarat

Untuk menukar CSV kepada JSON menggunakan Aspose.Cells FOSS dalam Python, pastikan persekitaran anda memenuhi keperluan berikut.

  • Python 3.7 atau versi lebih baru dipasang
  • Pasang Aspose.Cells FOSS melalui pip install aspose-cells-foss>=26.3.1
  • Import perpustakaan menggunakan from aspose.cells_foss import load_csv_workbook
  • Kefahaman asas tentang pengendalian fail Python dan modul standard json

Langkah Penukaran

Langkah 1: Muat Fail CSV

Gunakan fungsi kemudahan load_csv_workbook() untuk memuatkan fail CSV ke dalam buku kerja baru. Ini menginisialisasi representasi dalam memori bagi data hamparan.

from aspose.cells_foss import load_csv_workbook

workbook = load_csv_workbook("data.csv")
worksheet = workbook.worksheets[0]

Langkah 2: Baca Tajuk dan Baris

Gunakan iter_rows(values_only=True) untuk mengekstrak semua baris sebagai tuple nilai sel. Baris pertama dianggap sebagai baris tajuk.

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])]

Langkah 3: Bina Senarai Kamus dan Serialkan ke JSON

Ulangi baris yang masih ada, bina kamus per baris yang menggunakan nama tajuk sebagai kunci, kemudian gunakan json.dump() untuk menulis fail JSON.

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")

Contoh Kod

Contoh lengkap dari awal hingga akhir yang menggabungkan ketiga-tiga langkah:

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")

Format yang Disokong

Aspose.Cells FOSS menyokong pemuatan fail CSV dan mengeksport ke JSON melalui pendekatan yang ditunjukkan di atas. Perpustakaan ini juga menyokong penyimpanan langsung ke format lain.

FormatSambunganCatatan
CSV (input).csvMuat dengan load_csv_workbook("file.csv")
JSON (output).jsonDibina dengan Python json.dump() selepas mengulangi sel
XLSX (input/output).xlsxFormat Excel Open XML standard
Markdown (output).mdGunakan wb.save_as_markdown("file.md")

Lihat Juga

 Bahasa Melayu