الانتقال إلى الأداة
ViewCSV
الملفات تبقى على جهازك

تصفية صفوف CSV

orders.csv· بيانات نموذجية15 صفًا · 8 أعمدة
الصفوف المطابقة
الصفوف المطابقة: 15 من 15 صفًا.
النتيجة
#order_idcustomercityproductquantityunit_priceorder_datestatus
1001041عمر القحطانيتونسChair, ergonomic6144.562026-01-24refunded
2001042سارة المصريالدوحةMonitor 27"9161.362026-02-21shipped
3001043خالد الخطيبعمّانDesk lamp5170.882026-03-27shipped
4001044فاطمة الحربيدبيDesk lamp1161.162026-04-24pending
5001045نور الزهرانيعمّانNotebook A51·2026-05-02refunded
6001046هدى الدوسريالدوحةMonitor 27"2211.632026-06-17shipped
7001047 علي القحطاني عمّانCoffee beans 1kg257.052026-07-09shipped
8001048عمر المصريالدار البيضاءDesk lamp9216.892026-08-13shipped
9001049أحمد الحربيالرياضUSB-C cable5133.182026-09-01shipped
10001050يوسف الدوسريعمّانUSB-C cable4242.502026-01-22pending
11001051أحمد الشمريالقاهرةDesk lamp2217.962026-02-06refunded
12001052عمر الحسنجدةDesk lamp612.862026-03-18shipped
13001053أحمد السيددبيUSB-C cable9158.312026-04-13pending
14001054عمر الدوسريالدار البيضاءNotebook A5730.612026-05-07shipped
15001043خالد الخطيبعمّانDesk lamp5170.882026-03-27shipped

المدخلات: 15 صفًا. النتيجة: 15 صفًا · 8 أعمدة.

بعد فتح ملف CSV أو لصقه، يكفي اختيار عمود وشرط وقيمة لتظهر الصفوف المطابقة في النتيجة أثناء الكتابة. يمكن جمع 30 شرطًا على الأكثر بخيار كل الشروط أو أي شرط، ثم إبقاء الصفوف المطابقة أو حذفها وتنزيل النتيجة بصيغة CSV. لا يتغير نص أي خلية: تبقى ⁦00412⁩ كما هي ⁦00412⁩. الملفات الأكبر من 25 ميغابايت تُصفّى تدفقيًا وتُنزَّل دون معاينة. يُعالَج الملف في متصفحك ولا يُرفع.

طريقة تصفية الصفوف في ملف CSV

  1. افتح ملف ⁦.csv⁩ أو ⁦.tsv⁩ أو ⁦.txt⁩، أو أفلته على الأداة، أو الصق الصفوف. يُكتشف المحدِّد وعلامة ترتيب البايت لـ⁦UTF-8⁩ أو ⁦UTF-16⁩؛ ولاختيار محدِّد آخر أو ترميز قديم توجد إعدادات الاستيراد.
  2. اختر العمود (أو أي عمود) والشرط والقيمة. تُتجاهَل أغلب الشروط في المعاينة إلى أن تُدخَل قيمة.
  3. لقواعد إضافية اختر إضافة شرط، واضبط يجب أن تطابق الصفوف على كل الشروط (و، AND) أو أي شرط (أو، OR).
  4. تحت الصفوف المطابقة اختر إبقاؤها أو حذفها. تُبيّن الملاحظة فوق النتيجة عدد الصفوف المطابقة.
  5. اختر تنزيل CSV أو نسخ أو فتح في المحرر لمواصلة العمل على النتيجة.

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

كيف يقارن كل شرط القيم

يحتوي على، لا يحتوي على، يساوي تمامًا، لا يساوي، يبدأ بـ، ينتهي بـتُقارَن بنص الخلية كما كُتب. تُعامَل الأحرف اللاتينية الكبيرة والصغيرة معاملة واحدة ما لم يُفعَّل مطابقة الأحرف الكبيرة والصغيرة تمامًا. والمسافات تُحتسب: ⁦ Madrid ⁩ لا تساوي تمامًا ⁦Madrid⁩.
أحد قيم القائمة، ليس من قيم القائمةتُكتب القيم، قيمة في كل سطر. الفواصل داخل القيمة لا تضر، والأسطر الفارغة في القائمة تُتجاهَل. ويجب أن يساوي كل سطر الخلية كاملة.
يطابق تعبيرًا نمطيًاتعبير نمطي من JavaScript في وضع Unicode، يُختبر على نص الخلية الخام. يطابق في أي موضع من القيمة ما لم يُثبَّت بـ⁦^⁩ و⁦$⁩. وتُتجاهَل حالة الأحرف ما لم يُفعَّل مطابقة الأحرف الكبيرة والصغيرة تمامًا. والنمط غير الصالح يُظهر رسالة خطأ بدل النتيجة.
فارغ، غير فارغالخلية التي لا تحتوي إلا مسافات تُعدّ فارغة.
رقم أكبر من، رقم لا يقل عن، رقم أصغر من، رقم لا يزيد على، رقم بينأرقام عشرية بسيطة مثل ⁦12⁩ و⁦-3.5⁩ و⁦0.25⁩ و⁦1e3⁩ تُقارَن بدقة تامة، فيكون ⁦9007199254740993⁩ أكبر من ⁦9007199254740992⁩. فواصل الآلاف ورموز العملات والوحدات ليست أرقامًا، فلا تطابق ⁦1,250.00⁩ أو ⁦$40⁩ أبدًا. ولا تطابق الخلايا الفارغة وغير الرقمية أي شرط رقمي. القيمتان من وإلى شاملتان، وبأي ترتيب.
تاريخ قبل، تاريخ بعد، تاريخ بينتواريخ بـتنسيق التاريخ المختار. مع ⁦ISO 2024-03-31⁩ يمكن أن تتضمن الخلايا وقتًا وأجزاء من الثانية وإزاحة ⁦Z⁩ أو ⁦+02:00⁩ تُحوَّل إلى UTC؛ أما الأوقات بلا إزاحة فتُقارَن كما كُتبت. قيمة إلى التي فيها تاريخ فقط تشمل ذلك اليوم كله. والخلايا التي ليست تواريخ صالحة بهذا التنسيق لا تطابق أبدًا.

اضبط الفاصل العشري على فاصلة ⁦1,5⁩ للملفات التي تعني فيها ⁦2,25⁩ اثنين وربعًا؛ وبهذا الإعداد لا تعود القيمة المكتوبة ⁦2.25⁩ رقمًا. ويقبل الخياران اليوم أولًا ⁦31/03/2024⁩ والشهر أولًا ⁦03/31/2024⁩ الرمز ⁦/⁩ أو ⁦.⁩ أو ⁦-⁩ بين الأجزاء، والأيام والأشهر من خانة واحدة أو خانتين.

البحث في كل الأعمدة دفعة واحدة

مع أي عمود يُبقي الشرط الإيجابي مثل يحتوي على الصف إذا طابقت خلية واحدة على الأقل. أما الشرط السلبي (لا يحتوي على، لا يساوي، ليس من قيم القائمة، غير فارغ) فيجب أن يتحقق في كل خلايا الصف، فشرط «لا يحتوي على ⁦test⁩» لا يُبقي إلا الصفوف التي لا يذكرها أي عمود فيها.

يعكس خيار حذفها المجموعة كلها لا كل شرط على حدة: مع كل الشروط لا يحذف إلا الصفوف التي تستوفي كل القواعد.

القيم بين علامات الاقتباس والمعرّفات والأعمدة الإضافية

  • المحدِّدات وفواصل الأسطر داخل قيمة بين علامات اقتباس تُقرأ وفق RFC 4180؛ والخلية متعددة الأسطر تبقى صفًا واحدًا وتُكتب من جديد بين علامات اقتباس.
  • تُكتب الصفوف المطابقة كما قُرئت تمامًا. تبقى الأصفار في بداية القيم والمعرّفات الطويلة والمسافات، ولا يُحوَّل شيء إلى أرقام أو تواريخ في الناتج.
  • يُكتب العنوان الفارغ بصيغة ⁦Column 3⁩، والعنوان المكرر بصيغة ⁦name (2)⁩، كي يشير كل شرط إلى عمود واحد.
  • الصف الذي فيه قيم أكثر من صف العناوين يحصل على أعمدة إضافية باسم ⁦Column 5⁩ و⁦Column 6⁩…؛ والصف الأقصر يُكمَّل بقيم فارغة يطابقها عندئذ شرط فارغ.
  • يحتفظ الملف المنزَّل بمحدِّد الملف ونهايات أسطره وفاصل السطر الأخير، وبترميزه إذا كان ⁦UTF-8⁩ (مع علامة ترتيب البايت أو دونها) أو ⁦UTF-16 LE⁩ أو ⁦Windows-1252⁩؛ أما الترميزات الأخرى فتُحفظ بـ⁦UTF-8⁩.

تصفية الملفات الأكبر من 25 ميغابايت

الملفات الأكبر لا تُحمَّل في الذاكرة، فلا توجد معاينة للنتيجة. تقرأ الأداة بداية الملف فقط لعرض أعمدته؛ وبعد ضبط الشروط يقرأ زر التصفية والتنزيل الملف كله مرتين في عامل خلفي: مرة لإيجاد كل الأعمدة، ومرة لاختبار كل صف. تُنزَّل الصفوف المطابقة بصيغة CSV بالمحدِّد الأصلي، وعلامات اقتباس حيث تلزم فقط، ونهايات أسطر ⁦CRLF⁩، وترميز ⁦UTF-8⁩. يظهر أثناء التشغيل شريط تقدم وزر إلغاء، وتذكر الملاحظة بعد الانتهاء عدد الصفوف المطابقة.

في هذا الوضع يُطبَّق كل شرط كما أُدخل تمامًا، حتى الشروط الفارغة: فشرط يحتوي على الفارغ يطابق كل الصفوف، والشرط الرقمي الفارغ يوقف العملية برسالة خطأ. لذا يجب إكمال كل شرط أو حذفه قبل التشغيل. وتُقرأ الملفات الكبيرة بترميز ⁦UTF-8⁩ ما لم تبدأ بعلامة ترتيب بايت ⁦UTF-16⁩.

لماذا لا تطابق الصفوفُ شرطَ التصفية

  • لا صف يطابق الشرط الرقمي. تحقّق من وجود فواصل آلاف في القيم (⁦1,250⁩) أو عملات أو وحدات، أو فاصلة عشرية مع اختيار نقطة ⁦1.5⁩. استخدم يطابق تعبيرًا نمطيًا لإيجاد القيم الشاذة، أو نظّفها في محرر CSV.
  • شرط التاريخ يتخطى صفوفًا. الخلايا بتنسيق غير تنسيق التاريخ المختار، مثل ⁦03/31/2024⁩ مع اختيار ⁦ISO 2024-03-31⁩.
  • شرط «يساوي تمامًا» يفوّت صفوفًا تبدو متطابقة. في الخلايا مسافات زائدة أو أحرف غير مرئية. استخدم يحتوي على، أو أزِل المسافات أولًا بأداة تنظيف بيانات CSV.
  • البيانات كلها في عمود واحد. خُمِّن المحدِّد خطأً؛ اختره من إعدادات الاستيراد وافتح الملف من جديد.

حدود التصفية والخصوصية

حتى 30 شرطًا. الملفات حتى 25 ميغابايت و100 ألف صف و250 عمودًا ومليوني خلية تُفتح مع معاينة مباشرة؛ والملفات الأكبر تُصفّى تدفقيًا، والحد الأقصى للنتيجة المنزَّلة الواحدة 4 غيغابايت.

تجري التصفية في متصفحك، ولا يُرفع ملف CSV إلى أي خادم.

مثال: الطلبات التي لا تقل عن 100 بعد 1 مارس 2024

طلبات أُبقيت بشرطين مع كل الشروط: total رقم لا يقل عن ⁦100⁩، وordered_on تاريخ بعد ⁦2024-03-01⁩ ‏(ISO). يسقط الطلب ⁦00414⁩ في شرط التاريخ، و⁦00413⁩ في المبلغ، أما ⁦00415⁩ فإجماليه فارغ، والخلية الفارغة لا تطابق أي شرط رقمي. تبقى الأصفار في البداية والأسماء المحاطة بعلامات اقتباس دون تغيير.

CSV
order_id,customer,total,ordered_on
00412,"Lopez, Ana",129.90,2024-03-02
00413,Kim Lee,48.00,2024-03-05
00414,"Nguyen, Bao",1250,2024-02-28
00415,Sara Ali,,2024-03-09
00416,"Okafor, Chidi",310.5,2024-03-11
CSV بعد التصفية
order_id,customer,total,ordered_on
00412,"Lopez, Ana",129.90,2024-03-02
00416,"Okafor, Chidi",310.5,2024-03-11

أسئلة وأجوبة

كيف أُبقي الصفوف التي يكون فيها عمود ما إحدى قيم متعددة؟

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

هل يمكن الجمع بين AND وOR في تصفية واحدة؟

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

هل تغيّر التصفية قيمي؟

لا. تُحلَّل الأرقام والتواريخ للمقارنة فقط، وتُكتب الصفوف المطابقة بنصها الأصلي تمامًا.

المعايير والمراجع