سكربت دمج الجداولالتطوير والتخصيص

سكربت Python يدمج كثيرًا من ملفات CSV وExcel في جدول واحد، مع محاذاة الأعمدة

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

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

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

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

عن هذه الخدمة

تصديرات شهرية، تقارير من الفروع، ملفات من عدة مورّدين: حين تأتي البيانات نفسها في عشرات من ملفات CSV وExcel، يكون نسخها يدويًا إلى جدول واحد بطيئًا وعرضة للأخطاء. يقرأ سكربت Python هذا كل ملف في المجلد الذي تحدده، بما في ذلك عدة أوراق في مصنف واحد، ويحاذي الأعمدة حسب الاسم، ويضيف عمودًا بالملف المصدر، ويحفظ ملف CSV أو Excel واحدًا. بدءًا من الباقة القياسية يتعامل مع الأعمدة ذات الأسماء المختلفة في الملفات المختلفة، ويحتفظ بسجل للصفوف التي تعذّرت قراءتها. أرسل إلينا ملفين أو ثلاثة نموذجية ببضعة صفوف لكل منها. تشغّله بنفسك على جهازك. يتسع Excel لـ 1,048,576 صفًا كحد أقصى في الورقة، لذا تُحفظ النتيجة الأكبر بصيغة CSV.

ما المشمول

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

كيف يعمل

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

ما نحتاجه منك

ملفان أو ثلاثة من الملفات التي تدمجها، مختصرة إلى بضعة صفوف (غيّر أي أسماء أو مبالغ حقيقية إن أردت)، وعدد الملفات التقريبي وحجمها الأقصى، وما يجب أن تكون عليه النتيجة: CSV أو Excel، وأي الأعمدة وبأي ترتيب، وهل تبقى الصفوف المكررة. إن كانت الملفات مختلفة (أسماء أعمدة أخرى، أسطر عناوين إضافية)، فمثال من كل نوع. نظامك: 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 أيام وسنُعلمك بذلك في المحادثة.
  • إعادة التنفيذ أو استرداد المبلغ كاملًاإذا لم تطابق النتيجة متطلبات طلبك ولم تُصلحها التعديلات، أو استغرق العمل أكثر من ضعف مدة التنفيذ، فاكتب في محادثة الطلب: سنعيد تنفيذ العمل أو نردّ إليك المبلغ كاملًا.
كيف يعمل →

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

ماذا لو كانت أعمدة الملفات مختلفة؟

بدءًا من الباقة القياسية تحدد في ملف الإعدادات الأسماء التي تعني العمود نفسه، مثل Price وCost وSum. الأعمدة الموجودة في بعض الملفات فقط تبقى، مع خلايا فارغة في الصفوف الأخرى.

هل يحتفظ بالمعادلات والتنسيق؟

لا. يدمج القيم: ما تراه في الخلايا. لا تُنقل الألوان والخلايا المدمجة والمعادلات.

كم ملفًا يمكنه التعامل معه؟

مئات الملفات لا مشكلة فيها على كمبيوتر عادي. الحد هو النتيجة: أكثر من 1,048,576 صفًا لا يتسع لورقة Excel واحدة، لذا تُحفظ بصيغة CSV.

هل عليّ إرسال ملفاتي الحقيقية إليكم؟

لا. تكفي بضعة صفوف من كل نوع من الملفات، ويمكنك استبدال الأسماء والمبالغ بقيم مختلقة. ثم يعمل السكربت على ملفاتك الحقيقية على جهازك.

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

الباقات