باختصار: يبدو CSV أبسط تنسيق بيانات ممكن، ولهذا بالضبط تتسبب تناقضات صغيرة — فاصلة شاردة داخل حقل نصي بلا علامات اقتباس، فاصل غير متطابق، BOM مخفي — في فشل الاستيراد أو إزاحة الأعمدة بصمت. اقرن هذا الدليل مع Encoding Converter وDuplicate Finder وRemove Extra Spaces وCharacter Counter.

القواعد الفعلية لـCSV محددة في RFC 4180، رغم أن معظم CSV الحقيقي عمليًا يتبعها بشكل فضفاض فقط — وهو بالضبط مصدر معظم مشاكل الاستيراد.

أين تفشل عمليات استيراد CSV فعليًا

المشكلة الجوهرية: الفاصلة هي في آن واحد فاصل الأعمدة وحرف يمكن أن يظهر بشكل مشروع داخل حقل نصي (عنوان، وصف منتج يحتوي "صغير، متوسط، كبير" بداخله). حل RFC 4180 هو الإحاطة بعلامات الاقتباس — يجب إحاطة الحقل المحتوي على فاصلة بعلامات اقتباس مزدوجة، وتُهرَّب علامة اقتباس مزدوجة حرفية داخل حقل مقيَّد بمضاعفتها (""). البرامج التي تُصدِّر CSV دون اتباع هذه القاعدة تنتج ملفات تُزيح فيها فاصلة واحدة بلا علامات اقتباس كل عمود لاحق بمقدار موضع واحد بصمت.

الفواصل ليست عالمية

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

الترميز وBOM غير المرئي

تُضيف بعض الأدوات (لا سيما Excel عند التصدير) علامة ترتيب البايت (BOM) بترميز UTF-8 — ثلاثة بايتات غير مرئية في بداية الملف تمامًا — للإشارة إلى الترميز، لكن ليست كل المحللات تزيلها تلقائيًا. إذا تُركت، قد تلتصق بشكل غير مرئي باسم رأس العمود الأول، فيفشل بحث عن عمود يُسمى حرفيًا name لأن العنوان الفعلي هو name بحرف غير مرئي مسبوق — خلل يصعب حقًا رصده بالعين.

سير عمل تنظيف قبل الاستيراد

  1. افتح الملف الخام كنص عادي أولًا (لا في جدول بيانات، الذي يفسّر تلقائيًا وقد يخفي البنية الفعلية) للتحقق من الفاصل وطريقة الإحاطة بعلامات الاقتباس الفعليين.
  2. تحقق من أول بايتات بحثًا عن BOM إذا فشلت عمليات البحث بأسماء الأعمدة بشكل غامض.
  3. ابحث تحديدًا عن فواصل بلا علامات اقتباس داخل ما يُفترض أن يكون حقولًا نصية مفردة — السبب الأكثر شيوعًا لإزاحة الأعمدة.
  4. تحقق من محرف سطر جديد في نهاية الملف أو من صف فارغ أخير، تحسبه بعض أدوات الاستيراد سجلًا أخيرًا معطوبًا.
  5. نفّذ Duplicate Finder على عمود مفتاحي (مثل معرّف أو بريد إلكتروني) قبل الاستيراد إذا كانت السجلات المكررة ستسبب مشاكل لاحقًا.

أخطاء شائعة يجب تجنبها

  • افتراض أن كل CSV يستخدم فواصل — الملفات المفصولة بفاصلة منقوطة شائعة وتبدو متطابقة حتى تحاول التقسيم على الحرف الخطأ.
  • تعديل CSV في تطبيق جدول بيانات، الذي يعيد تنسيق التواريخ بصمت، ويزيل الأصفار البادئة، وقد يعيد ترميز النص بطرق لا تطابق الأصل.
  • عدم التحقق من BOM بادئ عندما تفشل عمليات البحث القائمة على العناوين دون سبب مرئي.
  • تجاهل الفواصل بلا علامات اقتباس داخل حقول نصية حرة حتى ينتج الاستيراد أعمدة مُزاحة بوضوح.

معظم فشل استيراد CSV لا يتعلق فعليًا بالبيانات — بل يتعلق بافتراضات المحلل (الفاصل، الترميز، التقييد بعلامات الاقتباس) التي لا تطابق ما يحتويه الملف فعليًا.