صفِّ صفوف ملف CSV حسب شرط
أداة تُبقي في ملف CSV فقط الصفوف المطابقة لشرط تحدده — مساواة قيمة عمود، نطاق تاريخ، أو حد رقمي أدنى وأعلى — وتحذف الباقي تلقائيًا. تصف الشرط مرة واحدة فتحصل على ملف مصفّى جاهز، بلا صيغ Excel وبلا فرز يدوي صفًا صفًا.
شغّل الأداة مجانًا
تعمل هذه الأداة داخل متصفحك — مجانًا، ولا تُرسل بياناتك إلى أي خادم
متى تحتاج تصفية لا فرزًا
الفرز يعيد ترتيب الصفوف فقط، بينما التصفية تحذف ما لا يهمك فعلًا: عميل من مدينة معينة، فاتورة أعلى من مبلغ محدد، أو طلب في شهر واحد من بين سنة كاملة من السجلات. حين يصل ملف تصدير من نظام قديم يحتوي كل البيانات التاريخية دفعة واحدة، تحتاج غالبًا شريحة صغيرة منها فقط، والتصفية توفر عليك تمرير آلاف الصفوف بعينك بحثًا عن ما يخصك تحديدًا، وهو ما يستهلك وقتًا طويلاً كلما تكرر الملف شهريًا.
أنواع الشروط المدعومة
يمكن تحديد شرط مساواة تام لقيمة عمود، أو شرط احتواء نص جزئي، أو نطاق رقمي بين حد أدنى وأعلى، أو نطاق تاريخ بين يومين محددين. يمكن أيضًا الجمع بين أكثر من شرط في الوقت نفسه — مثل مدينة معينة ومبلغ أعلى من قيمة محددة معًا — فتخرج فقط الصفوف المطابقة للشرطين. النتيجة ملف CSV جديد بالأعمدة نفسها، جاهز للفتح مباشرة في أي برنامج جداول بيانات دون خطوة تنظيف إضافية.
الاستخدام من الصفحة مباشرة
ارفع ملف CSV، اكتب الشرط بلغة بسيطة أو حدده من القائمة، وعاين عدد الصفوف المطابقة قبل تنزيل النتيجة المصفّاة. المعالجة كاملة داخل متصفحك بلا رفع إلى أي خادم، بلا حدّ للاستخدام وبلا تسجيل، وتعمل من الحاسوب أو الجوال بالطريقة نفسها. تصلح لملف تعمل عليه مرة واحدة أو تعود إليه أسبوعيًا بشرط مختلف كل مرة، دون حفظ أي إعداد بينهما ودون الحاجة لأي معرفة مسبقة بدوال Excel.
الأتمتة عبر الـAPI
لمن يحتاج تصفية الملف نفسه بشرط ثابت بانتظام — تقرير مبيعات شهري، أو استخراج طلبات مدينة واحدة من نظام مركزي — تتوفر الأداة عبر الـAPI، فيُرسل الشرط مع الملف في الطلب نفسه وتعود النتيجة المصفّاة مباشرة. السعر $0.002 للطلب الواحد، بغضّ النظر عن عدد صفوف الملف الأصلي حتى 25 MB، ضمن مسار عمل آلي كامل بلا خطوة يدوية بينهما ولا اشتراك شهري مسبق.
حالات الاستخدام
فواتير أعلى من مبلغ محدد
تستخرج فاطمة الزهراني من أرشيف فواتير سنة كاملة الفواتير التي تتجاوز مبلغًا معينًا فقط، تمهيدًا لمراجعة مالية لا تحتاج بقية السجلات.
طلبات مدينة واحدة من قائمة عملاء الخليج
تصفي شركة الخليج الرقمية قائمة عملاء إقليمية لاستخراج عملاء مدينة واحدة فقط قبل حملة تسويقية محلية موجهة.
سجلات شهر واحد من نظام قديم
يستخرج محمد الحربي من تصدير نظام محاسبي قديم يحتوي سنوات من البيانات سجلات شهر واحد فقط لمطابقتها بكشف حساب البنك.
الأسئلة الشائعة
هل يمكن الجمع بين أكثر من شرط؟
نعم، يمكن تحديد أكثر من شرط معًا فتخرج فقط الصفوف المطابقة لكل الشروط في الوقت نفسه.
هل تتغير بيانات الصفوف الباقية؟
لا، تبقى كل قيمة كما هي؛ التصفية تحذف صفوفًا كاملة ولا تعدّل محتوى الصفوف المحتفظ بها.
هل الاستخدام من المتصفح مجاني؟
نعم بلا حدّ وبلا تسجيل؛ المدفوع فقط عبر الـAPI بسعر $0.002 للطلب الواحد.
هل يدعم شرط نطاق تاريخ؟
نعم، يمكن تحديد نطاق تاريخ بين يومين محددين لاستخراج سجلات فترة معينة فقط.
ماذا يحدث إن لم يطابق أي صف الشرط؟
تحصل على ملف بالأعمدة نفسها بلا أي صف بيانات، بدل رسالة خطأ، لتتأكد أن الشرط طُبِّق بلا نتائج مطابقة فعلًا.
هل يعمل مع ملف بعشرات آلاف الصفوف؟
نعم حتى 25 ميغابايت في الطلب الواحد، وهو ما يكفي عادة عشرات آلاف الصفوف حسب عدد الأعمدة.
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/data/filter-csv \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"…"}'const res = await fetch("https://api.kit.forhosting.com/data/filter-csv", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "…"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/data/filter-csv",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "…"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/data/filter-csv", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"…"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"…"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/data/filter-csv", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"text": "…"
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "data.filter_csv",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الحدود
max_mb | 25 |
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |