YamlBox

محولات البيانات · 50دقيقة قراءة

CSV إلى JSON: من جدول بيانات إلى بيانات منظمة

يبدو ملف CSV كأبسط التنسيق في مجال الحوسبة ويعمل كواحد من أصعب التنسيقات. تحويل CSV إلى JSON هو المكان الذي تظهر فيه تلك القواعد المخفية: فاصلة داخل حقل مقتبس، فاصلة منقوطة من جدول بيانات أوروبي، عمود من الأرقام التي يجب أن تظل نصًا. إن معرفة ما يفعله المحلل اللغوي يحول عملية الاستيراد الفاشلة إلى إصلاح لمدة دقيقتين.

تم التحديث

يصبح صف الرأس هو مفاتيحك

يوفر الصف الأول أسماء الخصائص ويصبح كل صف تالي كائنًا. وهذا يعني أن نظافة الرأس هي تصميم المخطط: فالمسافات والأسماء المكررة وعلامات الترقيم في الرؤوس تنتج مفاتيح لا يمكنك استهلاكها بشكل مريح. أعد التسمية إلى `snake_case` أو `camelCase` قبل التحويل، وتأكد من عدم مشاركة عمودين في الاسم - تتم الكتابة فوق الرأس المكرر بصمت في معظم التطبيقات.

كل شيء في CSV عبارة عن سلسلة

لا يحتوي ملف CSV على أي أنواع على الإطلاق، لذلك يقرر المحول كيفية تفسير كل عمود. تصبح الأرقام أرقامًا حتى تتمكن من إجراء العمليات الحسابية؛`true`/`false`تصبح منطقية. تصبح الحقول الفارغة`null`أو سلسلة فارغة حسب اختيارك. الفخ هو المعرفات: الرموز البريدية وأرقام الهواتف وأرقام الفواتير وسلاسل الإصدار مثل `1.10` يجب أن تظل سلاسل، وإلا ستفقد الأصفار البادئة والأهمية الزائدة. إذا كان العمود يبدو رقميًا ولكنه معرف، فاحتفظ به كنص.

الاقتباسات والفواصل والأسطر الجديدة

تم حل هذه المشكلة بواسطة RFC 4180 منذ عقود: إذا كان الحقل يحتوي على فاصلة أو اقتباس أو فاصل أسطر، فسيتم تغليفه بعلامات اقتباس مزدوجة، ويتم مضاعفة علامات الاقتباس الداخلية. أي محلل متوافق - Papa Parse هو المجمّع هنا - يتعامل مع الحقول الملتفة بفواصل مضمنة وخلايا متعددة الأسطر دون تفكير ثانٍ. المحلل الذي ينقسم على الفواصل بشكل ساذج سينتج أعمدة تتغير بمجرد أن يحتوي أحد حقول العناوين على فاصلة، وهو الخطأ الكلاسيكي "لماذا يتم تعويض بياناتي بواحدة".

تختلف المحددات حسب اللغة: تقوم جداول البيانات في العديد من المناطق الأوروبية بتصدير ملفات مفصولة بفواصل منقوطة، وتستخدم علامات التبويب. إذا تم طي كل صف في مفتاح طويل واحد، فسيكون المحدد خاطئًا - اختر فاصلة منقوطة أو علامة تبويب وأعد التشغيل.

من أين تأتي الملفات (وماذا تحمل)

تعد الصادرات من أدوات التحليلات وأنظمة إدارة علاقات العملاء ومنصات الفوترة وقواعد البيانات هي المصدر الأكثر شيوعًا - وهي تحتوي بشكل روتيني على أسماء العملاء ورسائل البريد الإلكتروني وأرقام الإيرادات. يؤدي التحويل محليًا إلى إبقاء تلك البيانات خارج الشبكة تمامًا. يقوم محول YamlBox CSV إلى JSON بالتوزيع في المتصفح، ويتيح لك اختيار المحدد ومعالجة النوع، ويستمر في العمل مع تعطيل الشبكة.

توقعات الحجم

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

CSV إلى JSON — الأسئلة المتداولة

لماذا تظهر الأرقام الموجودة في CSV كسلاسل؟

لا يخزن CSV أي أنواع، لذلك يقرر المحول كل عمود. إذا كانت القيمة تبدو رقمية، فسيتم تحويلها عادةً، لكن المعرفات التي تحتوي على أصفار بادئة أو نقاط زائدة تحتاج إلى أن تظل سلاسل. ابحث عن إعداد استنتاج النوع واحتفظ بأعمدة المعرف كنص.

هل يمكنني تحويل ملف مفصول بفاصلة منقوطة؟

نعم - اضبط المحدد على فاصلة منقوطة. تستخدم العديد من صادرات جداول البيانات الأوروبية الفواصل المنقوطة عندما يكون الفاصل العشري عبارة عن فاصلة، وسيقوم المحلل اللغوي الذي يتوقع الفواصل بإرجاع عمود واحد يحتوي على الصف بأكمله.

هل من الآمن تحويل CSV مع بيانات العميل في المتصفح؟

إنه أكثر أمانًا من تحميله. لا يؤدي التحويل من جانب العميل إلى إرسال الملف مطلقًا، لذلك تظل عملية التصدير التي تحتوي على رسائل البريد الإلكتروني أو أرقام الإيرادات على جهازك، وتستمر الأداة في العمل دون اتصال - وهو أمر يسهل التحقق منه عن طريق قطع الاتصال والتحويل مرة أخرى.

الأدوات المذكورة في هذه التدوينة

تصفح القائمة الكاملة للأدوات 19

المزيد من المقالات للقراءة

جميع المشاركات 19 →