مُحوّل من JSON إلى CSV

حوّل قائمة بصيغة JSON إلى ملف بصيغة CSV مناسب لاستخدامه في جداول البيانات. يقوم المحول بفحص بياناتك، ويُنشئ ترتيبًا ثابتًا للأعمدة (إما من السجل الأول أو من مجموع جميع المفاتيح)، ويُسطح الهياكل المتداخلة عند اختيارك ذلك، ثم يُنتج ملفًا بصيغة CSV يمكن فتحه بسهولة في برامج مثل Excel وNumbers وGoogle Sheets أو في أي سكريبت باستخدام مكتبة pandas.

كيف يعمل المحول؟

  1. 1

    لصق أو قم برفع ملف JSON

    مجموعة من الكائنات، أو حمل مغلف يحتوي البيانات تحت مفتاح واحد.

  2. 2

    اختيار استراتيجية الأعمدة

    استخدم مفاتيح السجل الأول (سريعة وقابلة للتنبؤ بها)، أو اجمعها من جميع السجلات معًا (للحصول على نتائج أكثر شمولاً).

  3. 3

    ضبط المخرجات

    الفاصل، ونمط علامات الاقتباس، وتسطيح العناصر المتداخلة، وتفعيل/تعطيل العناوين، وBOM بصيغة UTF-8 لبرنامج Excel.

  4. 4

    تنزيل

    احفظ الملف باسم `.csv` واستورده إلى جدولك الإلكتروني، أو قم بتحميله باستخدام اسم `pandas.read_csv`.

استراتيجيات ترتيب الأعمدة

  • من السجل الأول: تتطابق الأعمدة مع مفاتيح الكائن JSON الأول؛ هذه الطريقة سريعة وحاسمة، لكنها قد تفوّت المفاتيح التي تظهر فقط في السجلات اللاحقة.
  • اتحاد جميع المفاتيح: يقوم بمسح كل سجل وجمع جميع المفاتيح؛ هذا الأسلوب أبطأ عند التعامل مع مجموعات البيانات الكبيرة جدًا، لكنه يُنتج قائمة شاملة بأسماء الأعمدة.
  • طلب مخصص: قم بتوفير قائمة بأسماء الأعمدة مفصولة بفواصل، ويتم إضافة جميع العناصر الأخرى في نهاية القائمة وفق الترتيب الذي تظهر فيه.

علامات الاقتباس والهروب

يتبع RFC 4180:

يجب تغليف الحقول التي تحتوي على فواصل، أو أسطر جديدة، أو علامات اقتباس مزدوجة داخل علامات اقتباس مزدوجة. يتم تجنب استخدام علامات الاقتباس المزدوجة داخل حقل مُعرَّف بعلامات اقتباس من خلال مضاعفة هذه العلامات؛ فمثلاً، يصبح He said "Hi" هو "He said ""Hi""".

  • محاذاة السطور الجديدة داخل الحقول المُقتبسة مسموح بها قانونيًا، لكن ليس جميع المستوردين يتعاملون معها؛ لضمان التوافق الأمثل، قم بتفعيل خيار “تجنب محاذاة السطور الجديدة”.

الحفاظ على أنواع البيانات

ملف CSV هو نص؛ أي أن كل عنصر فيه يمثل سلسلة نصية. تعتمد إشارات التأكيد على الأنواع (مثل الأعمدة العددية، أو القيم المنطقية، أو تواريخ) على طريقة تحليل المستخدم للبيانات. بعض النصائح:

  • تُحفظ القيم المبدأية الصفرية (007) على شكل سلاسل نصية في ملف CSV، لكن برنامج Excel يحوّلها تلقائيًا إلى أرقام دون إشعار المستخدم؛ يمكن استخدام البادئة =""007"" (رغم أنها قبيحة الشكل لكنها فعّالة)، أو استيراد البيانات كنص في Excel.
  • تفقد الأعداد الصحيحة الكبيرة التي تتجاوز قيمة 2^53 دقة في برنامج Excel؛ لذا يجب الاحتفاظ بها على شكل سلاسل نصية في ملف JSON.
  • تظل تواريخ ISO (2026-04-18T10:22:00Z) سارية عند استخدام برنامج Excel في عمليات الاستيراد والتصدير فقط إذا تم تنسيق العمود كنص أثناء الاستيراد.
  • تتحول القيم المنطقية إلى سلاسل نصية من نوع true أو false؛ وإذا كان النظام المستخدم يتوقع استخدام 1 أو 0، فيجب إجراء التحويل المناسب قبل التصدير.

BOM وExcel

تحتاج ملفات Excel على نظام ويندوز إلى وجود علامة ترتيب البايت (BOM) بصيغة UTF-8 (0xEF 0xBB 0xBF) في بداية الملف؛ وإلا فإن النظام سيفسر بايتات UTF-8 على أنها من نوع Latin-1 ويُحوّل أي نص خارج نطاق ASCII إلى بيانات غير قابلة للقراءة. أما على نظامي ماك وGoogle Sheets، فيتم التعامل مع كلا الصيغتين بشكل صحيح.

الأخطاء الشائعة

  • إرسال كائن بدلًا من مصفوفة: تحتاج الأداة إلى [{...}, {...}]، وليس {...}؛ قم بفك التغليف أولاً.
  • مفاتيح مختلفة في سجلات مختلفة: استخدم استراتيجية “اتحاد جميع المفاتيح” لتجنب فقدان الأعمدة.
  • القيم المرجعية للقيمة الفارغة: تتعامل بعض سلاسل المعالجة مع الخلايا الفارغة كقيم فارغة (null)، بينما تتعامل معها أخرى كسلسلة نصية فارغة ""؛ اختر إحدى هاتين القاعدتين والتزم بها في جميع مراحل المشروع.
  • اختلاف المناطق الإقليمية: عند تصدير البيانات باستخدام المعيار , ثم فتحها في برنامج Excel الأوروبي الذي يتوقع استخدام المعيار ;، قد يتم تكثيف الأعمدة. يجب مطابقة علامة الفاصل مع المنطقة الإقليمية المستهدفة.

الأسئلة الشائعة

أدخل قيمة JSONPath (مثل $.data.items) إلى المصفوفة، أو قم بفك تغليفها يدويًا؛ حيث سيحاول الأداة اكتشاف مصفوفة واحدة ضمن كائن من المستوى الأعلى تلقائيًا.

يقوم برنامج إكسل تحويلًا فوريًا للسلاسل النصية ذات الشكل الرقمي إلى قيم رقمية. يمكن استيراد ملف CSV كنص باستخدام مساعد الاستيراد في إكسل، أو تغيير قيم مثل "007" إلى ="007" عند التصدير (ويمكن لهذا الأداة تحقيق ذلك من خلال تفعيل/تعطيل وضع الحماية من التحوير النصي).

نعم، يمكنك اختيار إحدى الخيارات التالية: الانضمام مع علامة فاصلة (tags: "a,b,c")، أو تحويل البيانات إلى صيغة JSON (tags: "[\"a\",\"b\"]")، أو تجزئتها إلى عمود واحد لكل فهرس (tags.0، tags.1، tags.2).

نعم، تتعامل أداة Google Sheets مع تنسيق UTF-8 والعلامات الفاصلة القياسية دون أي مشكلة. بالنسبة لمجموعات البيانات الكبيرة جدًا (>10 ميغابايت)، يُنصح بتحميل البيانات عبر الملف IMPORTDATA بدلاً من نسخها ولصقها.

أدوات ذات صلة

الأداة متاحة بلغات أخرى