العربية

البيانات وجداول البيانات · CSV منظف

لماذا السلاسل الفارغة NULL والحقول المفقودة ليست هي نفسها في CSV

· لماذا يهم

ملف CSV json تنسيقات البيانات

خلايا CSV فارغة ورمز NULL حرفي وصف قصير يصل كمدخلات مرئية مختلفة ولكن مخرجات سلسلة
الرسم التوضيحي المتجه الأصلي ToolAcre

CSV ليس لديه طريقة لقول "لا قيمة"؛ أنه يحتوي على النص فقط. يشرح هذا المنشور كيف تختلف الحقول الفارغة والسلاسل الفارغة المقتبسة والحرفية NULL والصفوف القصيرة، ولماذا يختلف القائمون على التحميل بشأنها، وكيف يفرض التحويل إلى JSON السؤال.

تصبح نفس الخلية الفارغة NULL في أحد الأنظمة وسلسلة فارغة في نظام آخر - لماذا يتغير هذا الارتباط والحساب والمتوسطات

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

وهذا الاتساق مفيد فقط عندما يعرفه المستهلك. اختبار التعليمات البرمجية خصيصًا للقيمة الخالية لن يحل محل الإعداد الافتراضي لـ "". حدد عقد القيمة المفقودة عند حدود الاستلام بدلاً من افتراض أن المحول احتفظ بالفروق التي لم يحتفظ بها بناء الجملة CSV أو نموذج التحليل المختار.

في ToolAcre، تصبح الخلية المفقودة الفارغة والمبطنة سلاسل فارغة ما لم يعيد المستهلك تفسيرها

يمكن أن يحتوي CSV على محددين لا يوجد شيء بينهما، وسلسلة فارغة مقتبسة بشكل صريح، ونص حرفي مثل NULL أو NA، وصف ينتهي قبل عرض الرأس. ToolAcre يوزع أول سلسلتين فارغتين ويترك الرموز الحرفية دون تغيير كنص عادي.

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

كيف تفسر أدوات التحميل الشائعة كل منها - الإعدادات الافتراضية المختلفة في جداول البيانات وقواعد البيانات ومكتبات إطارات البيانات

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

عند تسليم الملف إلى نظام آخر، اقرأ إعدادات المستورد وقم بإنشاء تركيبات لـ ``, `""`، NULL وصف قصير. يتم إثبات العقد الموثوق به عند الحدود الفعلية. إن الفولكلور العام حول ما يعنيه "CSV عادةً" ضعيف جدًا لدرجة أنه لا يمكن فقدان القيم.

تختلف الإعدادات الافتراضية للمحمل؛ توثق هذه المقالة ToolAcre بدلاً من تعميم سلوك جدول البيانات أو قاعدة البيانات

يعد النص NULL خطيرًا بشكل خاص لأنه قد يكون محتوى حقيقيًا أو حارسًا للمرسل. لا يحتوي ToolAcre على قائمة حراسة تم تكوينها وبالتالي يحتفظ بها كسلسلة مكونة من أربعة أحرف "NULL". وينطبق الشيء نفسه على NA وN/A, صفر وأي رمز مميز آخر قد يستخدمه المنتج.

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

JSON يجعلك تقرر - السلسلة الفارغة والفارغة والمفتاح الغائب هي ثلاثة أشياء مختلفة بمجرد تحويل الملف

JSON يميز بين سلسلة فارغة وخاصية غائبة، ولكن ToolAcre يختار المفاتيح الحالية بقيم سلسلة لكل عمود رأس. تصبح الخلايا المفقودة أو المبطنة "". لا ينتج المحول JSON فارغة ولا يحذف مفتاحًا لمجرد أن الخلية فارغة.

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

ToolAcre يُصدر سلاسل فارغة ومفاتيح موجودة، وليس مفاتيح فارغة أو غائبة

استخدم معرف الرؤوس والملاحظة والرمز وأربعة سجلات: `1,,A`، `2,"",NULL`، `3,hello` و`4,world,B,extra`. تصبح النوتتان الأوليتان عبارة عن سلاسل فارغة؛ يبقى الكود الموجود في الصف الثاني "NULL". يتلقى الصف الثالث الرمز "" بعد الحشو، بينما يحذر الصف الرابع من أن الخلية الإضافية لا تحتوي على مفتاح.

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

ما لا يغطيه هذا هو قواعد التضمين والعمل لما يجب أن تكون عليه القيمة المفقودة افتراضيًا

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

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

حدد معنى الفراغ قبل التحميل - كيف يجعل تحويل ToolAcre CSV المنظف CSV-to-JSON التمثيل مرئيًا

حدد معنى الفراغ قبل تحميل JSON في الكود المكتوب. ToolAcre يعطي خط أساس شفاف: قيم السلسلة في كل مكان، وسلاسل فارغة للخلايا الممثلة المفقودة، والكلمات الحارسة الحرفية دون تغيير، والتحذيرات عندما يتجاوز شكل الصف المفاتيح المتاحة.

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