كيفية تحويل CSV إلى JSON في Python FOSS

كيفية تحويل CSV إلى JSON في Python FOSS

مشكلة

تحويل ملف CSV إلى JSON باستخدام Aspose.Cells FOSS في Python. قم بتحميل ملف CSV باستخدام load_csv_workbook()، واقرأ كل صف باستخدام iter_rows() لبناء قائمة Python من القواميس، ثم قم بتحويلها إلى JSON باستخدام وحدة json القياسية.

المتطلبات المسبقة

لتحويل CSV إلى JSON باستخدام Aspose.Cells FOSS في Python، تأكد من أن بيئتك تلبي المتطلبات التالية.

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

الخطوة 2: قراءة العناوين والصفوف

استخدم 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])]

الخطوة 3: بناء قائمة من القواميس وتحويلها إلى 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 عبر النهج الموضح أعلاه. كما تدعم المكتبة الحفظ المباشر إلى صيغ أخرى.

الصيغةالامتدادملاحظات
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")

انظر أيضًا

 العربية