كيفية دمج Python في Excel بسلاسة باستخدام PyXLL

كيفية دمج Python في Excel بسلاسة باستخدام PyXLL
القراء مثلك يساعدون في دعم MUO. عند إجراء عملية شراء باستخدام الروابط الموجودة على موقعنا، قد نكسب عمولة تابعة. اقرأ أكثر.

PyXLL هي أداة تعمل على سد الفجوة بين Microsoft Excel وPython. يتيح لك دمج كود Python ووظائفه بسلاسة في جداول بيانات Excel. مع PyXLL، يصبح Excel منصة للاستفادة من مكتبات وقدرات Python.





يعمل PyXLL كوظيفة إضافية لـ Excel. يمكنك استخدامه لكتابة وظائف Python ووحدات الماكرو مباشرة في بيئة VBA الخاصة بـ Excel. يعمل PyXLL بعد ذلك كمترجم ويقوم بتشغيل التعليمات البرمجية داخل خلايا Excel، مما يفتح العديد من الاحتمالات. يتضمن بعض هذه المهام أتمتة المهام المعقدة، وتحليل البيانات المتقدمة، وتصور البيانات.





نظرة عامة على PyXLL

يعمل PyXLL عن طريق تشغيل مترجم Python ضمن عملية Excel. وهذا يمنح كود Python الخاص بك، الذي يعمل في PyXLL، إمكانية الوصول المباشر إلى بيانات وكائنات Excel. الأداة مكتوبة بلغة C++ وتستخدم نفس التقنية الأساسية مثل Excel. هذا يعني أن كود Python الذي يتم تشغيله في PyXLL عادة ما يكون أسرع بكثير من كود اكسل VBA .





التثبيت والإعداد

لتثبيت PyXLL، توجه إلى موقع باي اكس إل وقم بتنزيل الوظيفة الإضافية. تأكد من تطابق إصدار Python وإصدار Excel الذي تختاره مع الإصدارين المثبتين في نظامك. PyXLL متاح فقط لإصدار Windows من Excel.

  صفحة تحميل PyXLL

عند اكتمال التنزيل، افتح موجه الأوامر وقم بتشغيل هذا الأمر:



 pip install pyxll

أنت بحاجه إلى قم بتثبيت Pip في نظامك لتشغيل الأمر أعلاه. ثم استخدم حزمة PyXLL لتثبيت وظيفة PyXLL الإضافية:

 pyxll install 

سوف يسألك المثبت عما إذا كنت قد قمت بتنزيل الوظيفة الإضافية أم لا. أدخل نعم ثم قم بتوفير المسار إلى الملف المضغوط الذي يحتوي على الوظيفة الإضافية. ثم اتبع التعليمات التي تظهر على الشاشة لإكمال التثبيت.





الشروع في العمل مع PyXLL

بمجرد تثبيت البرنامج المساعد، قم بتشغيل Excel. قبل أن يتم تشغيله، ستظهر رسالة تطلب منك ذلك ابدأ النسخه التجريبيه أو اشتري الآن . ستنتهي صلاحية الإصدار التجريبي بعد ثلاثين يومًا وستحتاج بعد ذلك إلى شراء ترخيص لمواصلة استخدام PyXLL.

  موجه إصدار PyXLL

اضغط على ابدأ النسخه التجريبيه زر. سيؤدي هذا إلى تشغيل Excel مع الوظيفة الإضافية المثبتة.





على ال علامة التبويب مثال PyXLL ، اضغط على حول باي اكس إل زر. سيُظهر لك هذا المسار الذي قمت بتثبيت الوظيفة الإضافية فيه، بالإضافة إلى المسارات إلى ملفات التكوين والسجل.

  PyXLL حول المطالبة في Excel

يعد المسار الذي يحتوي على ملف التكوين مهمًا حيث ستحتاج إلى تعديل هذا الملف لاحقًا، لذا قم بتدوينه.

يجب أن أقوم بتنزيل 64 أو 32 بت

تعريض وظائف بايثون إلى Excel

لعرض دالة Python لبرنامج Excel كدالة معرفة من قبل المستخدم (UDF)، استخدم الأمر @xl_func مصمم ديكور. يقوم مصمم الديكور هذا بإرشاد PyXLL لتسجيل الوظيفة في Excel، مما يجعلها متاحة للمستخدمين.

على سبيل المثال، لفضح بايثون فيبوناتشي () دالة إلى Excel باعتبارها UDF، يمكنك استخدام @xl_func مصمم الديكور على النحو التالي:

كيفية تسجيل محادثة على iphone 6
 from pyxll import xl_func 

@xl_func
def fibonacci(n):
  """
  This is a Python function that calculates the Fibonacci sequence.
  """
  if n < 0:
    raise ValueError("n must be non-negative")
  elif n == 0 or n == 1:
    return n
  else:
    return fibonacci(n - 1) + fibonacci(n - 2)

احفظ هذا الرمز بامتداد .py ولاحظ مسار المجلد الذي تحفظ فيه الملف.

الآن، افتح ملف تكوين PyXLL في المحرر وانتقل لأسفل إلى السطر الذي يبدأ بـ 'pythonpath'. عادةً ما يكون هذا الإعداد عبارة عن قائمة بالمجلدات التي سيبحث عنها PyXLL عن وحدات Python. أضف المسار إلى المجلد الذي يحتوي على الكود المصدري لوظيفة فيبوناتشي.

  قائمة مجلدات PyXLL pythonpath

ثم قم بالتمرير لأسفل إلى 'الوحدات النمطية' وأضف الوحدة النمطية الخاصة بك. على سبيل المثال، إذا قمت بحفظ الملف باسم fibonacci.py ، أضف الاسم 'فيبوناتشي' إلى القائمة:

  قائمة وحدات ملف التكوين PyXLL

سيؤدي هذا إلى الكشف عن وظائف الوحدة النمطية التي تستخدم ملف @xl_func مصمم الديكور إلى Excel. ثم ارجع إلى Excel، وعلى علامة التبويب مثال PyXLL ، اضغط على إعادة تحميل بايكسل زر للتغييرات في ملف التكوين للمزامنة. يمكنك بعد ذلك الاتصال بـ Python فيبوناتشي تعمل كما تفعل مع أي صيغة Excel أخرى.

  وظائف بايثون في Excel

يمكنك إنشاء أي عدد تريده من الوظائف وعرضها على Excel بنفس الطريقة.

تمرير البيانات بين Excel وPython

يدعم PyXLL استخدام مكتبات Python الخارجية، مثل Pandas. يتيح لك تمرير البيانات من هذه المكتبات إلى Python والعكس. على سبيل المثال، يمكنك استخدم Pandas لإنشاء إطار بيانات عشوائي وتمريره إلى Excel. تأكد من تثبيت Pandas على نظامك، ثم جرب هذا الكود:

 from pyxll import xl_func 
import pandas as pd
import numpy as np

@xl_func("int rows, int columns: dataframe<index=True>", auto_resize=True)
def random_dataframe(rows, columns):
   data = np.random.rand(rows, columns)
   column_names = [chr(ord('A') + x) for x in range(columns)]
   return pd.DataFrame(data, columns=column_names)

يجب عليك اتباع نفس العملية لعرض هذه الوحدة ووظائفها لبرنامج Excel. ثم حاول الاتصال بالرقم Random_dataframe تعمل كما تفعل مع صيغة Excel الأخرى:

 =random_dataframe(10,5)

يمكنك تغيير عدد الصفوف والأعمدة كما تريد.

  Dataframe في Excel تم إنشاؤه بواسطة Pandas من خلال PyXLL

يمكنك تمرير إطارات البيانات المحددة مسبقًا إلى Excel بنفس الطريقة. ومن الممكن أيضا أن استيراد بيانات Excel إلى برنامج Python النصي باستخدام Pandas .

حدود PyXLL

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

هل يجب أن تستمر في استخدام وظائف Excel؟

ذلك يعتمد على ما تريد تحقيقه. من المنطقي دائمًا استخدام وظائف Excel الأصلية عندما تكون متاحة. ولكن بالنسبة للمهام الأكثر تعقيدًا، والتي لا تستطيع وظائف Excel المدمجة التعامل معها، فإن PyXLL يعد حلاً ممتازًا.

تعد مكتبة Pandas مكملاً مثاليًا لـ PyXLL بقدراتها التحليلية ودعمها القوي لمعالجة البيانات.