چگونه 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 از طریق روشی که در بالا نشان داده شد پشتیبانی میکند. این کتابخانه همچنین از ذخیرهسازی مستقیم به سایر فرمتها پشتیبانی مینماید.
| Format | Extension | Notes |
|---|---|---|
| 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") استفاده کنید |