تقرير يومي بالبريد الإلكترونيالتطوير والتخصيص

سكربت Python يُعدّ تقريرًا قصيرًا من ملفات Excel لديك ويرسله من صندوق بريدك الخاص

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

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

سكربت Python يُعدّ تقريرًا قصيرًا من ملفات Excel لديك ويرسله من صندوق بريدك الخاص

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

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

دمج ملفات المبيعات الشهرية لـ 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 واحدًا يضم كل المبيعات وورقة بالإجماليات حسب المتجر.

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

عن هذه الخدمة

إن كان أحد في المكتب يفتح ملف Excel نفسه كل صباح وينسخ المجاميع ويكتبها في رسالة، فيمكن لسكربت Python هذا أن يقوم بهذا الجزء. يقرأ الملفات التي تحددها، مثل تصدير مبيعات الأمس أو جدول المخزون في مجلد مشترك، ويحسب ما تطلبه (مجاميع، وأعداد، ومتوسطات حسب المتجر أو المنتج، والصفوف التي تتجاوز حدًا ما)، ويرسل رسالة قصيرة بجدول مرتب إلى الأشخاص الذين تحددهم، من حساب بريدك الخاص، مع إرفاق الملف بدءًا من الباقة القياسية. تضع كلمة مرور الإرسال لحساب البريد في الإعدادات بنفسك؛ ولا توضع أبدًا في الكود. المستلمون زملاؤك أو عملاؤك أنت، ضمن حدود الإرسال لخدمة بريدك بكثير. يعرض الأرقام الموجودة في ملفاتك؛ ولا يتحقق منها ولا يفسرها.

ما المشمول

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

كيف يعمل

  1. 1
    المهمةترسل ملفًا نموذجيًا ومثالًا على الرسالة التي تريدها
  2. 2
    الكودنكتب السكربت ودليل تشغيله
  3. 3
    جرّبهتشغّله وعنوانك أنت وحده في القائمة
  4. 4
    التعديلاتتطلب التعديلات ضمن باقتك وترسل أي رسالة خطأ

ما نحتاجه منك

أحد ملفات Excel التي يُعدّ منها التقرير، مختصرًا إلى بضعة صفوف أو بأرقام مغيّرة، وأين تظهر الملفات (مجلد، أو drive مشترك) وكيف تُسمّى، وما يجب أن تعرضه الرسالة (اكتبها كما تكتبها يدويًا)، ومن يستلمها ومن أي حساب بريد (يكفي ذكر خدمة البريد؛ وكلمة المرور تدخلها بنفسك). متى يجب أن تُرسل، والكمبيوتر الذي سيعمل عليه: Windows أو macOS أو Linux.

سنسألك:

  • من أي ملفات يُعدّ التقرير؟
  • ما الذي يجب أن تعرضه الرسالة؟
  • من يستلمها، ومتى؟
  • أين سيعمل؟

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

الباقاتالأساسيةتقرير واحد‏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؛ ومع الباقة الأساسية أو القياسية تشغّله بنفسك أو تُعدّ ذلك بنفسك. يجب أن يكون الكمبيوتر قيد التشغيل في ذلك الوقت.

مع أي حسابات بريد يعمل؟

مع معظم الخدمات التي تسمح بالإرسال عبر SMTP، ومنها خدمات البريد الشائعة للأعمال والاستخدام الشخصي. بعضها يطلب منك إنشاء كلمة مرور للتطبيق لهذا الغرض؛ ويوضح ملف README مكانها.

ملفاتي في جداول بيانات Google لا في Excel. هل ينجح ذلك؟

لهذا يناسب أكثر سكربت Google Apps Script داخل الجدول، يرسل من Gmail الخاص بك؛ اذكر ذلك في متطلبات الطلب وسنكتبه بلغة Apps Script بدلًا من ذلك.

هل يمكنه إرسال التقرير إلى عملائي؟

نعم، إلى أشخاص يتوقعونه، مثل عملاء طلبوا قائمة مخزون يومية. وهو ليس مخصصًا للمراسلات الجماعية أو للقوائم التي لم تجمعها بنفسك.

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

الباقات