چگونه CSV را به JSON در Python تبدیل کنیم FOSS

چگونه CSV را به JSON در Python تبدیل کنیم FOSS

مشکل

یک فایل CSV را به JSON تبدیل کنید با استفاده از Aspose.Cells FOSS در پایتون. CSV را با load_csv_workbook() بارگذاری کنید، هر ردیف را با استفاده از iter_rows() بخوانید تا یک لیست پایتون از دیکشنری‌ها ساخته شود، سپس با استفاده از ماژول استاندارد json به JSON سریالایز کنید.

پیش‌نیازها

برای تبدیل CSV به JSON با استفاده از Aspose.Cells FOSS در پایتون، اطمینان حاصل کنید که محیط شما الزامات زیر را برآورده می‌کند.

  • Python 3.7 یا بالاتر نصب شده باشد
  • نصب Aspose.Cells FOSS از طریق pip install aspose-cells-foss>=26.3.1
  • وارد کردن کتابخانه با استفاده از from aspose.cells_foss import load_csv_workbook
  • آشنایی پایه‌ای با مدیریت فایل‌های Python و ماژول استاندارد json

مراحل تبدیل

مرحله 1: بارگذاری فایل CSV

از تابع راحتی load_csv_workbook() برای بارگذاری فایل CSV در یک کتاب‌کار جدید استفاده کنید. این کار نمایه‌سازی در‑حافظه داده‌های صفحه‌گسترده را مقداردهی اولیه می‌کند.

from aspose.cells_foss import load_csv_workbook

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

مرحله ۲: خواندن سرصفحه‌ها و ردیف‌ها

از iter_rows(values_only=True) برای استخراج تمام ردیف‌ها به‌صورت تاپل‌های مقادیر سلول استفاده کنید. ردیف اول به‌عنوان ردیف سرصفحه در نظر گرفته می‌شود.

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

مرحله ۳: ساختن یک لیست از دیکشنری‌ها و سریال‌سازی به JSON

سطرهای باقی‌مانده را تکرار کنید، برای هر سطر یک دیکشنری بر اساس نام‌های سرستون‌ها بسازید، سپس از json.dump() برای نوشتن فایل 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")

مثال کد

مثال کامل انتها به انتها که تمام سه مرحله را ترکیب می‌کند:

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

فرمت‌های پشتیبانی‌شده

Aspose.Cells FOSS از بارگذاری فایل‌های CSV و خروجی به JSON از طریق روشی که در بالا نشان داده شد پشتیبانی می‌کند. این کتابخانه همچنین از ذخیره‌سازی مستقیم به سایر فرمت‌ها پشتیبانی می‌نماید.

FormatExtensionNotes
CSV (ورودی).csvبارگذاری با load_csv_workbook("file.csv")
JSON (خروجی).jsonساخته شده با Python json.dump() پس از تکرار سلول‌ها
XLSX (ورودی/خروجی).xlsxفرمت استاندارد Excel Open XML
Markdown (خروجی).mdاز wb.save_as_markdown("file.md") استفاده کنید

موارد مرتبط

 فارسی