كيفية استخدام Pandas لقراءة ملفات Excel في بايثون

باندا بايثون إكسل pandas excel
مكتبة Pandas


 في هذا الدرس ستتعلم كيفية استخدام بايثون و Pandas لقراءة ملفات Excel باستخدام دالة read_excel.

توجد ملفات Excel في كل مكان – وعلى الرغم من أنها قد لا تكون نوع البيانات المثالي للعديد من علماء البيانات فإن معرفة كيفية التعامل معها يعد مهارة أساسية.

بنهاية هذا الدرس سنكون قد تعلمنا:

كيفية استخدام دالة read_excel لقراءة ملف Excel.
كيف نقرأ ورقة Excel بإسم محدد في Pandas.
كيف تقرأ عدة أوراق أو ملفات إكسل.
كيفية عمل أعمدة معينة من ملف Excel في Pandas.
كيفية تخطي الصفوف عند قراءة ملفات Excel في Pandas.

لقراءة ملفات Excel في لغة بايثون بإستخدام Pandas استخدم دالة read_excel () و يمكنك تحديد مسار الملف واسم ورقة الإكسل كما هو موضح أدناه:

قراءة ملفات Excel في لغة بايثون بإستخدام Pandas

في الأقسام التالية من هذا الدرس سنتعرف على المزيد حول دالة read_excel () لفهم كيفية تخصيص قراءة ملفات Excel بشكل أفضل.

كما هو مبين في الكود السابق فإن أسهل طريقة لقراءة ملف Excel باستخدام Pandas هي ببساطة تمرير مسار الملف إلى المعامل = io لذا يمكنك ببساطة تمرير السلسلة إلى الملف.

يقبل المعامل كل المسارات سواء كان الملف على جهاز محلي أو مسار HTTP أو مسار FTP أو أكثر.

دعونا نرى ما يحدث عندما نقرأ في ملف Excel مستضاف على صفحة Github .

قراءة ملفات Excel في لغة بايثون بإستخدام Pandas

إذا قمت بتنزيل الملف وألقيت نظرة عليه ستلاحظ أن الملف يحتوي على ثلاث أوراق، إذن كيف يعرف Pandas أي ورقة يجب قراءتها وعرضها؟ بشكل افتراضي سيستخدم Pandas الورقة الأولى (موضعياً) في حالة عدم تحديد أي ورقة ل Pandas.

في القسم التالي سنتعرف على كيفية تحديد الورقة التي تريد تحميلها في DataFrame.

كيفية تحديد أسماء أوراق Excel في read_excel

كما وضحنا في السابق تعلمنا أنه في حالة عدم تحديد إسم الورقة سيقوم Pandas بتحميل الورقة الأولى إفتراضيا في مصنف Excel ، وفي حالتنا هذه يحتوي ملفنا على ثلاث أوراق مبينة كالتالي:

Sales.xlsx
|---East
|---West
|---North

نحن نعلم أنه تم تحميل البيانات من ورقة “East” في المثال السابق. و إذا أردنا تحميل البيانات من الورقة “West” فيمكننا استخدام المعامل =sheet_name لتحديد الورقة التي نريد تحميلها.

يقبل المعامل كلاً من السلاسل و الأعداد الصحيحة، فإذا كان إسم الورقة عبارة عن سلسلة فيمكننا تحديد اسم الورقة الذي نريد تحميله.

دعنا نلقي نظرة على كيفية تحديد اسم الورقة الذي هو “West “:

كما يمكننا أيضا تحميل اسم ورقة من خلال موضعها و بشكل افتراضي يستخدم Pandas الوضع 0 والذي يعني الورقة الأولى. لنفترض أننا نريد تكرار مثالنا السابق وتحميل البيانات من الورقة المسماة “West” فسنحتاج إلى معرفة مكان الورقة.

و لأننا نعلم أن ورقة “West” هي الورقة الثانية فسنقوم بإختيار الرقم 1 و هو رقم موضع ورقة “West”:

يمكننا أن نرى أن كلا الطريقتين أعادت لنا نفس بيانات الورقة و لهذا ستتعلم كيفية تحديد الأعمدة المراد تحميلها عند استخدام دالة read_excel.

كيفية تحديد أسماء الأعمدة في read_excel

قد تكون هناك مرات لا تريد فيها تحميل كل عمود في ملف Excel، قد يكون هذا بسبب احتواء الملف على عدد كبير جدًا من الأعمدة أو بسبب احتوائه على أعمدة مختلفة لأوراق عمل مختلفة.

و للقيام بذلك يمكننا استخدام المعامل =usecols ويتيح لنا تحديد مايلي :

  • قائمة بأسماء الأعمدة.
  • سلسلة من نطاقات أعمدة Excel.
  • قائمة الأعداد الصحيحة التي تحدد فهارس الأعمدة المراد تحميلها.

لنقم بتحميل DataFrame الخاص بنا من المثال السابق ولكن هذه المرة سنقوم بتحميل عمودي “العميل” و “المبيعات”:

يمكننا أن نرى أنه من خلال تمرير قائمة السلاسل التي تمثل الأعمدة تمكنا من جلب بيانات تلك الأعمدة فقط.

أخيرًا يمكننا أيضًا تمرير قائمة الأعداد الصحيحة التي تمثل مواضع الأعمدة التي أردنا تحميلها لأن العمودين هما العمودين الثاني والثالث سنقوم بتحميل قائمة من الأعداد الصحيحة كما هو موضح أدناه:

كيفية تحديد أنواع البيانات في read_excel

تسهل pandas تحديد نوع البيانات لأعمدة مختلفة عند قراءة ملف Excel وهذا يخدم ثلاثة أغراض رئيسية:

  • منع قراءة البيانات بطريقة خاطئة.
  • تسريع عملية القراءة.
  • حفظ الذاكرة.

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

من المهم ملاحظة أنك لست بحاجة إلى المرور على جميع الأعمدة حتى يعمل معك و في القسم التالي سنتعلم كيفية تخطي الصفوف عند قراءة ملفات Excel.

كيفية تخطي الصفوف عند قراءة ملفات Excel

في بعض الحالات سوف تواجه ملفات حيث توجد صفوف العناوين منسقة في ملف Excel الخاص بك كما هو موضح أدناه:

و إذا قررنا قراءة هذه الورقة سنحصل على التالي :

يجعل Pandas من السهل تخطي عدد معين من الصفوف عند قراءة ملف Excel و يمكن القيام بذلك باستخدام =skiprows و يمكننا أن نرى أننا بحاجة إلى تخطي صفين بحيث يمكننا ببساطة تمرير القيمة 2 كما هو موضح أدناه:

الأن يمكنك قراءة الملف بشكل أكثر دقة! و يمكن أن يكون منقذا عند العمل مع الملفات سيئة التنسيق، أما الأن سنتعرف على كيفية قراءة أوراق متعددة في ملف Excel في Pandas.

كيف تقرأ أوراق متعددة في ملف Excel في Pandas

من السهل جدًا قراءة أوراق متعددة في نفس الوقت مع Pandas إذ يمكن القيام بذلك باستخدام = sheet_name، في الأمثلة السابقة مررنا سلسلة واحدة فقط لقراءة ورقة واحدة ولكنك يمكنك أيضًا تمرير قائمة الأوراق لقراءة أوراق متعددة في وقت واحد.

دعونا نرى كيف يمكننا قراءة أول ورقتين لدينا:

في المثال أعلاه مررنا في قائمة ورقتين للقراءة، و عندما استخدمنا دالة ()type للتحقق من نوع القيمة التي تم إرجاعها رأينا أنه تم إرجاع قاموس.

كل ورقة هي مفتاح القاموس اما DataFrame هي قيمة المفتاح، دعونا نرى كيف يمكننا الوصول إلى DataFrame الخاصة ب “West“:

يمكنك أيضًا قراءة جميع الأوراق مرة واحدة عن طريق تحديد None لقيمة =sheet_name و سيؤدي هذا إلى إرجاع قاموس لجميع الأوراق:

إلى هنا أكون قد أنتهيت من درس اليوم وقد تعلمنا كيفية استخدام Python و Pandas لقراءة ملفات

Excel باستخدام دالة ()read_excel، كما تعلمنا كيفية استخدام الدالة لقراءة Excel وتحديد أسماء

الأوراق وقراءة أعمدة معينة فقط وتحديد أنواع البيانات كما تعلمنا بعد ذلك كيفية تخطي الصفوف

وقراءة عدد محدد من الصفوف فقط وقراءة أوراق متعددة.


اكتشاف المزيد من بايثون العربي

اشترك للحصول على أحدث التدوينات المرسلة إلى بريدك الإلكتروني.

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

Scroll to Top

اكتشاف المزيد من بايثون العربي

اشترك الآن للاستمرار في القراءة والحصول على حق الوصول إلى الأرشيف الكامل.

Continue reading