سكربت فرز الملفاتالتطوير والتخصيص

سكربت Python يفرز مجلدًا مزدحمًا إلى مجلدات فرعية حسب النوع أو التاريخ أو الاسم، وفق قواعدك

جاهز عادةً خلال 15 دقيقةالتعديلات مشمولةفحص الجودة
الباقات
حماية الدفعالتفاصيل
  • التعديلات ضمن الباقة مجانية.
  • إذا لم تردّ خلال 3 أيام من التسليم، يُقبل العمل تلقائيًا.

يُحجز المبلغ عند الدفع ولا يُحوَّل إلا بعد قبولك العمل.

سكربت Python يفرز مجلدًا مزدحمًا إلى مجلدات فرعية حسب النوع أو التاريخ أو الاسم، وفق قواعدك

مثال على النتيجة

مثال على الباقة القياسية

دمج ملفات المبيعات الشهرية لـ 9 متاجر في تقرير Excel واحد

طريقة التشغيل

python merge_sales.py --month 2026-10
2026-11-02 09:14:03 INFO  المجلد: sales/2026-10، عُثر على 9 ملفات
2026-11-02 09:14:03 INFO  shop-01.csv: 1,284 صفًا
2026-11-02 09:14:04 INFO  shop-02.xlsx: 967 صفًا
2026-11-02 09:14:04 WARN  shop-07.csv: تُخطّيت 3 صفوف بلا سعر (الأسطر 88، 412، 913)
2026-11-02 09:14:05 INFO  تم: 10,412 صفًا -> report-2026-10.xlsx (الورقتان «المبيعات» و«الإجماليات»)

إعدادات لا كود

أسماء أعمدة كل متجر موجودة في settings.ini، فالمتجر الجديد أو العمود الذي تغيّر اسمه يعني سطرًا واحدًا هناك:

[columns]
date = التاريخ, تاريخ البيع, اليوم
product = المنتج, الصنف, الاسم
quantity = الكمية, العدد, قطع
price = السعر, سعر الوحدة

جزء من الكود

def read_shop_file(path: Path, columns: dict[str, list[str]]) -> pd.DataFrame:
    """يقرأ ملف متجر واحد ويمنح أعمدته أسماء أعمدة التقرير."""
    table = pd.read_excel(path) if path.suffix == ".xlsx" else pd.read_csv(path, encoding="utf-8-sig")
    renamed = {}
    for name, variants in columns.items():
        found = next((c for c in table.columns if c.strip() in variants), None)
        if found is None:
            raise ReportError(f"{path.name}: لا يوجد عمود لـ «{name}» (جرى البحث عن: {', '.join(variants)})")
        renamed[found] = name
    table = table.rename(columns=renamed)[list(columns)]
    table["shop"] = path.stem
    return table

الملفات: أرشيف ZIP يضم merge_sales.py (310 أسطر)، وsettings.ini، وrequirements.txt، وملف README يشرح تثبيت Python وتشغيل السكربت ومعنى كل رسالة في السجل. يشغّله العميل على كمبيوتره الخاص.

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

العميل وجميع التفاصيل افتراضية.

عن هذه الخدمة

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

ما المشمول

  • ما الذي تحصل عليهأرشيف ZIP يضم سكربت Python وملف README بتعليمات خطوة بخطوة، ومن الباقة القياسية ملف إعدادات بمجلداتك وقواعدك؛ ويُعرض الكود أيضًا في صفحة الطلب.
  • حسب النوع أو التاريخ أو الاسمالقواعد التي تحددها، بالترتيب الذي تحدده
  • نسخ أو نقلأنت تختار؛ ويمكن أن تبقى الأصول في مكانها
  • آمن مع الأسماءالملف ذو الاسم المستخدم يحصل على رقم، ولا يُستبدل شيء
  • تشغيل تجريبيبدءًا من الباقة القياسية، تشغيل يكتفي بسرد ما سيذهب إلى أين
  • كود مقروءمع تعليقات، ليسهل إضافة قاعدة لاحقًا

كيف يعمل

  1. 1
    القواعدتصف المجلدات التي تريدها وكيف تُوزَّع الملفات عليها
  2. 2
    الكودنكتب السكربت ودليل تشغيله
  3. 3
    جرّبهتشغّله على نسخة من المجلد
  4. 4
    التعديلاتتطلب التعديلات ضمن باقتك وترسل أي رسالة خطأ

ما نحتاجه منك

المجلد المطلوب فرزه وعدد الملفات التقريبي فيه، والمجلدات التي تريد الوصول إليها والقاعدة لكل منها: أنواع الملفات أو التاريخ (من الملف أو من اسمه) أو كلمات في الاسم. هل تُنسخ الملفات أم تُنقل، وماذا يُفعل بالملفات التي لا تنطبق عليها أي قاعدة، ونظامك: Windows أو macOS أو Linux. لقطة شاشة للمجلد أو قائمة من 10-20 اسم ملف تساعد كثيرًا.

سنسألك:

  • أي مجلد يحتاج إلى فرز؟
  • ما المجلدات التي يجب أن ينشئها، وما الذي يذهب إلى أين؟
  • نسخ أم نقل؟
  • أين سيعمل؟

قارن بين الباقات

الباقاتالأساسيةمجلد واحد، قاعدة واحدة‏16 US$القياسيةالفرز مع الإعدادات‏33 US$المميزةأداة الفرز‏67 US$
مدة التنفيذ1 يوم2 يوم3 أيام
التعديلات123
الكودحتى 150 سطرًاحتى 400 سطرحتى 1,000 سطر
ملفات الكود1حتى 3حتى 8
ملف الإعداداتلانعمنعم
رسائل خطأ واضحة وسجللانعمنعم
خيارات التشغيل ودليل لتشغيله وفق جدول زمنيلالانعم
دليل التثبيت والتشغيل (README)نعمنعمنعم
اللغةPythonPythonPython
اطلب الأساسيةاطلب القياسيةاطلب المميزة

حماية الدفع

تدفع عند الطلب، لكن المبلغ لا يُحوَّل إلا مقابل عمل قبلته.

  • سعر ثابتلا يتغير سعر الباقة بعد الدفع.
  • المبلغ محجوزعند الدفع، يُحجز المبلغ فقط. ولا يُحوَّل إلى Dleex إلا بعد قبولك العمل.
  • فحص قبل التسليمتخضع كل نتيجة لفحص الجودة قبل أن تصل إليك، وتراها في صفحة الطلب قبل قبولها.
  • تعديلات مجانيةاطلب تعديلات ضمن متطلبات طلبك بالعدد الذي تسمح به الباقة.
  • القبول بعد 3 أيامإذا لم تقبل العمل ولم تطلب تعديلات خلال 3 أيام من التسليم، يُقبل تلقائيًا. وإذا كتبت في محادثة الطلب بعد التسليم، يبقى الطلب قيد الانتظار؛ وبعد ردّنا، قد نعيد بدء مهلة 3 أيام وسنُعلمك بذلك في المحادثة.
  • إعادة التنفيذ أو استرداد المبلغ كاملًاإذا لم تطابق النتيجة متطلبات طلبك ولم تُصلحها التعديلات، أو استغرق العمل أكثر من ضعف مدة التنفيذ، فاكتب في محادثة الطلب: سنعيد تنفيذ العمل أو نردّ إليك المبلغ كاملًا.
كيف يعمل →

الأسئلة والأجوبة

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

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

هل يمكنه فرز الملفات فور وصولها؟

يفرز ما في المجلد في كل مرة تشغّله فيها. تضيف الباقة المميزة دليلًا لتشغيله وفق جدول زمني باستخدام Task Scheduler أو cron أو launchd، مثلًا كل ساعة.

هل يعمل مع مجلد شبكة أو مجلد سحابي؟

نعم، إن كان المجلد متزامنًا مع جهازك ويظهر كمجلد عادي. لا يسجّل الدخول إلى الخدمات السحابية.

هل ستفرزون الملفات بدلًا مني؟

لا. تشغّل السكربت على جهازك، فتبقى ملفاتك لديك. كل ما نحتاجه قائمة بالأسماء أو لقطة شاشة.

لم تجد إجابتك؟

الباقات