Cara Mengonversi CSV ke JSON di Python FOSS

Cara Mengonversi CSV ke JSON di Python FOSS

Masalah

Konversi file CSV ke JSON menggunakan Aspose.Cells FOSS di Python. Muat CSV dengan load_csv_workbook(), baca setiap baris menggunakan iter_rows() untuk membangun daftar kamus Python, kemudian serialisasikan ke JSON menggunakan modul standar json.

Prasyarat

Untuk mengonversi CSV ke JSON menggunakan Aspose.Cells FOSS di Python, pastikan lingkungan Anda memenuhi persyaratan berikut.

  • Python 3.7 atau lebih baru terpasang
  • Instal Aspose.Cells FOSS via pip install aspose-cells-foss>=26.3.1
  • Impor perpustakaan menggunakan from aspose.cells_foss import load_csv_workbook
  • Familiaritas dasar dengan penanganan file Python dan modul standar json

Langkah-langkah Konversi

Langkah 1: Muat File CSV

Gunakan fungsi kemudahan load_csv_workbook() untuk memuat file CSV ke dalam workbook baru. Ini menginisialisasi representasi data spreadsheet dalam memori.

from aspose.cells_foss import load_csv_workbook

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

Langkah 2: Baca Header dan Baris

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

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: Bangun Daftar Kamus dan Serialisasi ke JSON

Iterasi baris-baris yang tersisa, buat sebuah dict per baris yang diindeks dengan nama header, kemudian gunakan json.dump() untuk menulis file 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 Kode

Contoh lengkap end-to-end yang menggabungkan ketiga 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 Didukung

Aspose.Cells FOSS mendukung pemuatan file CSV dan mengekspor ke JSON melalui pendekatan yang ditunjukkan di atas. Perpustakaan ini juga mendukung penyimpanan langsung ke format lain.

FormatExtensionNotes
CSV (masukan).csvMuat dengan load_csv_workbook("file.csv")
JSON (keluaran).jsonDibuat dengan Python json.dump() setelah mengiterasi sel
XLSX (masukan/keluaran).xlsxFormat Excel Open XML standar
Markdown (keluaran).mdGunakan wb.save_as_markdown("file.md")

Lihat Juga

 Bahasa Indonesia