data · 5 دقائق قراءة

كيف تحذف الصفوف الفارغة من CSV دون أن تفقد صفًّا حقيقيًّا

أربعة أنواع من الأسطر تبدو فارغة بالقدر نفسه في الجدول. ثلاثة منها كذلك فعلًا. الرابع هو الصفّ الذي تفقده.

يصل تصدير تقرير وفيه فجوات بين أقسامه، أو يلتقط ملف بضع مئات من الصفوف الفارغة في أسفله. تحديدها والضغط على حذف بديهي وسريع، وهو سبب عودة الناس بعد أسبوع يبحثون عن سجلّ مفقود.

كيف تحذف الصفوف الفارغة من ملف CSV

احذف الصفوف التي تكون كل حقولها فارغة بعد قصّ المسافات

تلتقط تلك القاعدة الأشياء الثلاثة الفارغة فعلًا — سطر فارغ، وسطر من فواصل عارية، وسطر من مسافات — وتبقي الذي ليس كذلك: صفّ فيه قيمة في عموده الأول ولا شيء بعدها. في الجدول تبدو الأربعة كلّها سواء.

السطر كما هو في الملفما يعيده المحلّلAmman,3,openصفّ حقيقي["Amman", "3", "open"]فيه قيمة — أبقِه⟨سطر فارغ⟩بلا محارف إطلاقًا[]لا شيء يُفقد — حذفه آمن,,الفواصل باقية["", "", ""]لا شيء يُفقد — حذفه آمن···مسافات فقط[]لا شيء يُفقد — حذفه آمنIrbid,,قيمة واحدة، وهي بيانات["Irbid", "", ""]فيه قيمة — أبقِه
العمود الأوسط هو parseCsv من أدوات CSV على هذا الموقع، مُشغَّلًا على كل سطر أثناء عرض الصفحة. ثلاثة من هذه فارغة فعلًا. الأخير ليس كذلك، وهو الصفّ الذي يحذفه الناس حين يحدّدون بالعين — ففي الجدول يبدو مثل البقيّة تمامًا.

لماذا يوقع الأخير الناس

صفّ مثل Irbid,, يظهر في الجدول خليةً فيها كلمة وخليتين فارغتين بجانبها. عند التمرير على ألف صفّ، يُقرأ ذلك جزءًا من المساحة الفارغة — خصوصًا إن كانت الكلمة قصيرة أو العمود ضيّقًا.

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

من أين جاءت الصفوف الفارغة

تصديرات التقارير تكتبها عمدًا، فواصلَ بين الأقسام أو بقايا فواصل صفحات. هذه زخرفية وتذهب بلا جدال.

الأسطر الجديدة في النهاية ليست صفوفًا فارغة أصلًا. الملف الذي ينتهي بسطر جديد منتهٍ كما ينبغي، والقرّاء يختلفون هل يعني ذلك صفًّا إضافيًّا — ولهذا يعدّ الملف نفسه 500 صفّ في برنامج و501 في آخر. لا شيء خطأ ولا شيء يحتاج حذفًا.

الحقل المقتبس المكسور هو المصدر الخطر. القيمة التي تحمل انتقال سطر مشروعة إن كانت مقتبسة، وشيء تجاهل الاقتباس شطر سجلًّا واحدًا على سطرين — فيكون «الصفّ الفارغ» هو النصف الثاني من صفّ حقيقي. إن ظهرت صفوفك الفارغة مباشرةً بعد صفوف فيها عناوين أو نصّ حرّ، فهذا أول ما تفحصه، وما تفعله علامات الاقتباس يشرح سبب الشطر.

فعلها دون فتح جدول

سبب تجنّب Excel هنا هو سبب تجنّبه في معظم جراحة CSV: إنه لا يحذف ما طلبته وحده. افتح ملفًّا لتحذف بعض الصفوف فقد ينزع أيضًا الأصفار من مقدّمة رموزك البريدية ويحوّل بعض أرقام القطع إلى تواريخ في الطريق — ولن ترى ذلك حتى يكون الملف قد حُفظ.

في منظّف CSV خيار حذف الصفوف الفارغة ضمن خياراته. يقصّ كل حقل قبل فحصه، فتُعدّ أسطر المسافات فارغة ولا يُعدّ Irbid,, كذلك، ويخبرك بعدد الصفوف قبل وبعد — وهو العدد الذي تفحصه. إن حذف أكثر ممّا توقّعت، فالفارق صفوف كان فيها شيء.

الصفوف الفارغة والصفوف المكرّرة سؤالان مختلفان

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

خذ الفارغة أولًا، وانظر عدد الصفوف، وعامل المكرّرة قرارًا منفصلًا والبيانات أمامك.

النسخة القصيرة

«فارغ» يعني أن كل حقل فارغ بعد قصّ المسافات — لا «يبدو فارغًا على الشاشة». افحص عدد الصفوف قبل وبعد، وإن كانت الصفوف الفارغة تقع مباشرةً تحت صفوف فيها عناوين، فعندك مشكلة اقتباس لا مشكلة صفوف فارغة.

أسئلة

كيف أحذف الصفوف الفارغة من ملف CSV؟

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

لماذا في آخر ملف CSV عندي صفوف فارغة؟

غالبًا سطر جديد في النهاية، وهو صحيح وغير ضارّ — الملف الذي ينتهي بواحد ملف أُنهي صفّه الأخير كما ينبغي. بعض القرّاء يحوّل ذلك السطر الأخير إلى صفّ فارغ زائد وبعضهم لا، ولهذا يُظهر الملف نفسه 500 صفّ في برنامج و501 في آخر. الفرق في القراءة لا عطل في الملف.

هل سطر الفواصل مثل السطر الفارغ؟

ليس في الملف. السطر الفارغ بلا محارف؛ والسطر الذي يقرأ ,, يحمل فاصلين وثلاثة حقول فارغة. كلاهما خالٍ من البيانات، فحذفهما آمن عادةً — لكن المحلّل الصارم يعاملهما معاملتين مختلفتين، والقارئ الذي يتوقّع أن يحمل كل صفّ العدد نفسه من الأعمدة يقبل ,, ويشكو من السطر الفارغ حقًّا.

لماذا تظهر صفوف فارغة عند فتح الملف في Excel؟

في الأغلب كانت هناك أصلًا، من تصدير كتب صفًّا فاصلًا أو من تقرير مقسّم صفحاتٍ أبقى فواصل صفحاته. أحيانًا يكون العكس: حقل يحمل انتقال سطر، مقتبس بشكل صحيح في الملف، شطره إلى صفّين شيءٌ لم يحترم علامات الاقتباس. الحالة الثانية ليست صفًّا فارغًا إطلاقًا — بل صفّ واحد مكسور نصفين، وحذف نصفه الثاني يتلف بيانات.

هل يكسر حذف الصفوف الفارغة محاذاة أعمدتي؟

لا. الصفوف مستقلّة في CSV؛ لا شيء يشير إلى صفّ آخر بموضعه. حذف سطر يغيّر عدد الصفوف وحده. هذا عكس حذف فاصل أو علامة اقتباس، فكلاهما يزيح كل حقل بعده في ذلك الصفّ.

كيف أحذف الصفوف التي ليس فيها إلا مسافات؟

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

هل أحذف الصفوف المكرّرة في الوقت نفسه؟

قراران منفصلان ويستحقّان أن يُؤخذا منفصلين. الصفّ الفارغ لا يحمل شيئًا وذهابه آمن دائمًا؛ أما الصفّ المكرّر فقد يكون قراءتين حقيقيّتين متطابقتين — بيعتين للسلعة نفسها بالسعر نفسه — وحذفه يغيّر مجموعًا في صمت. افعل الفارغة دون تفكير والمكرّرة بتفكير.

هل يُرفع ملفي لتنظيفه؟

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

أدوات من هذا الدليل

المزيد من أدوات البيانات — كلّها تعمل في متصفّحك، ولا واحدة منها ترفع ملفًّا.