جداول بيانات إكسل في بايثون | الوحدة الثالثة | الدرس الرابع

جداول بيانات إكسل في بايثون هو عنوان الدرس الرابع من الوحدة الثالثة التي تحمل اسم “البرمجة مع بايثون” في الفصل الدراسي الثاني من مقرر “المهارات الرقمية – ثاني متوسط”.
ستتعرف في هذا الموضوع على كيفية استخدام جداول بيانات إكسل في بايثون، من خلال معرفة علاقة الإكسل بلغة البايثون، واستخدام مكتبة أوبين بيكسل (openpyxl)، ودفاتر العمل (Workbooks)، والوصول إلى الخلايا (Accessing cells)، وقيمتها، بالإضافة للوصول إلى قيمة أكثر من خلية واحدة، وكتابة القيم.
قم بقراءة نواتج التعلُّم جيدًا، ثم أعد قراءتها وتأكَّد من تحصيل محتوياتها بعد انتهائك من دراسة الموضوع.
نواتج التعلُّم
- معرفة علاقة الإكسل بلغة البايثون.
- استخدام مكتبة أوبين بيكسل.
- استخدام دفاتر العمل.
- معرفة طريقة الوصول إلى الخلايا وقيمها.
- معرفة طريقة الوصول إلى قيمة أكثر من خلية واحدة.
- تطبيق كتابة القيم من الخلايا.
هيا لنبدأ!
مقدمة – جداول بيانات إكسل في بايثون
لقد تعلمت سابقًا كيفية استخدام إكسل لإجراء معالجة البيانات البسيطة، مثل إنشاء جداول البيانات، وتطبيق الدوال لتحديد البيانات وفرزها وتنسيقها وإنشاء بعض المُخطَّطات بناءً على بياناتك.
ستتعلم في هذا الموضوع كيفية استخدام بايثون إلى جانب إكسل.
العمل مع إكسل وبايثون
نظرًا لأنك تعلم بالفعل كيفية استخدام إكسل، فقد تتساءل عن سبب استخدام بايثون للعمل معه.
السبب هو أنه باستخدام بايثون يمكِنك أتمتة بعض المهام المتكرِّرة، وإجراء بعض العمليات الحسابية المعقَّدة بشكل أسرع من العمل مع إكسل فقط.
لاستخدام بايثون مع إكسل، تحتاج إلى مكتبة تسمى أوبين بيكسل (openpyxl).
المكتبة في لغات البرمجة هي عبارة عن حزمة مقاطع برمجية مكتوبة سابقًا، وتؤدي بعض المهام بحيث لا يحتاج المبرمجون إلى كتابة المقطع البرمجي من البداية في كل مرة.
مكتبة أوبين بيكسل
يوجد في بايثون العديد من المكتبات المثبَّتة سابقًا، ولكن هناك العديد من المكتبات المتاحة التي يمكِنك تنزيلها وتثبيتها، مكتبة أوبين بيكسل (openpyxl) هي إحدى تلك المكتبات.
يمكِنك باستخدامها إجراء عمليات مثل القراءة والكتابة والحسابات الرياضية، وإنشاء الرسوم، والمُخطَّطات البيانية.
لتثبيت مكتبة أوبين بيكسل (openpyxl):
- في نافذة PyCharm (باي تشارم)، اضغط على packages (الحزم).
- اكتب openpyxl (أوبين بيكسل) في شريط البحث.
- اختر openpyxl (أوبين بيكسل).
- ثم اضغط على Install (تثبيت).
- ستظهر رسالة تخبرك بأن التثبيت قد اكتمل.
لمعرفة المزيد من المعلومات عن كيفية قراءة ملفات Excel في بايثون، قم بالاطّلاع على الرابط التالي:
كيفية قراءة ملفات Excel في بايثون – بايثون بالعربي
استيراد مكتبة أوبين بيكسل
لاستخدام مكتبة أوبين بيكسل بعد تثبيتها، تحتاج إلى استيرادها. يمكِنك القيام بذلك باستخدام أمر الاستيراد (import).
العمل مع دفاتر العمل
كما تعلم، يمكِن أن تحتوي ملفات إكسل على أكثر من ورقة عمل واحدة، ويمكِنك إدخال البيانات ومعالجتها في كل ورقة.
في مكتبة أوبين بيكسل، يُطلق على ملف إكسل اسم دفتر العمل (Workbook)، ويمكِنك إما إنشاء ملف إكسل جديد أو تحميل ملف موجود سابقًا.
دالة تحميل دفتر العمل (load_workbook())
للعمل على ملف إكسل موجود ستستخدِم دالة تحميل دفتر العمل (load_workbook()). وعليك وضع الملف في نفس المجلد مع جزء المقطع البرمجي، أو استخدام المسار المطلق للملف.
سمات أسماء أوراق العمل (sheetnames)
عادةً ما تعمل على ورقة محدَّدة من دفتر العمل، ومن المفيد جدًا معرفة أسماء هذه الأوراق. لرؤية أسماء الأوراق التي يحتوي عليها دفتر العمل، يمكِنك استخدام سمة أسماء أوراق العمل (sheetnames).
بإمكانك مراجعة محتوى موضوع “جداول بيانات إكسل في بايثون” من بدايته وحتى هذه النقطة، من خلال الرابط التالي:
سمة الصف الأقصى (max_row attribute) وسمة العمود الأقصى (max_column attribute)
عند العمل باستخدام ملف إكسل، فمن الجيد معرفة عدد الصفوف والأعمدة الموجودة في الورقة.
للقيام بذلك، يمكِنك استخدام سمة الصف الأقصى (max_row) وسمة العمود الأقصى (max_column) في ورقة العمل.
الوصول إلى الخلايا
تحتوي كل خلية في ورقة عمل إكسل على خاصيتين رئيستين، هما موقعها في الملف وقيمته.
غالبًا ما ستحتاج إلى الوصول إلى قيمة الخلية من أجل طباعتها على الشاشة، أو تغييرها، أو استخدامها لإجراء عمليات حسابية أخرى مثل العثور على مبلغ وما إلى ذلك.
الوصول إلى قيم الخلايا
لقد تعلمت كيفية الحصول على موقع الخلية. لكن في معظم الأوقات، تحتاج إلى قيمتها. للحصول على قيمة الخلية، تحتاج إلى استدعاء سمة قيمة كائن خلية معيَّن.
في هذا المثال، ستستخدِم ملف إكسل للتغذية لطباعة عدد السعرات الحرارية (kCal) من الحليب.
كما رأيت من قبل، يحتوي هذا الملف على 12 صفًا و12 صفًا. للحصول على عدد السعرات الحرارية (kCal) من الحليب، عليك أولًا العثور على موقعها، وهو “C3” ثم يمكِنك استدعاء سمة القيمة في هذه الخلية.
الوصول إلى قيمة أكثر من خلية واحدة
افترض الآن أنك تريد الحصول على جميع الحقائق الغذائية للحليب.
يمكِنك العثور يدويًا على موقع كل خلية ثم استدعاء سمة قيمتها، ولكن ذلك سيستغرق وقتًا طويلًا، ومن الممكِن أيضًا أن تكون قد ارتكبت بعض الأخطاء.
لذلك، يوجد دالتان لهما وظيفتان مفيدتان في اختيار أكثر من خلية واحدة وهما iter_rows وiter_cols.
دالة Iter_rows
يتم استخدام دالة Iter_rows عندما تريد الحصول على جميع القيم لصف أو أكثر في ورقة عمل إكسل.
ستستخدِم دالة iter_rows الآن للحصول على جميع الحقائق الغذائية للحليب. عليك الحصول على جميع مواقع الخلايا لصف الحليب، وهو “3D” ثم استدعاء سمة القيمة.
دالة Iter_cols
يتم استخدام دالة Iter_cols عندما تريد الحصول على جميع القيم لعمود أو أكثر في ورقة عمل إكسل.
ستستخدِم Iter_cols للحصول على عدد السعرات الحرارية (kCal) لجميع المكوِّنات الموجودة في ورقة العمل. ستحتاج إلى الحصول على مواقع جميع الخلايا ثم استدعاء سمة القيمة.
بإمكانك مراجعة محتوى موضوع “جداول بيانات إكسل في بايثون” بدايةً من عنوان “سمة الصف الأقصى” وحتى نهاية هذا القسم، من خلال الرابط التالي:
كتابة القيم
لقد تعلَّمت كيفية الحصول على الخلايا والقيم من ورقة العمل.
من الأمور المهمة عند العمل على ملفات إكسل هي كتابة القيم في الخلايا، حيث يمكِنك إما إنشاء صفوف وأعمدة جديدة وإضافة قيم في خلايا فارغة، أو يمكِنك تغيير قيم الخلايا الموجودة.
يمكِنك تغيير قيمة الخلية باستخدام دالة الخلية (cell).
ستعمل على ملف التغذية في إكسل وتغيُّر القيم الموجودة. في هذا الملف، ستُحسب قيم العناصر الغذائية لكل مكوِّن في كل 100 جرام.
إذا كنت ترغب في تحويل هذه القيم لإظهارها في كل 30 جرامًا من المكوِّنات، فيجب عليك تغيير كل قيمة وفقًا للصيغة التالية:
لتغيير كل خلية تغذية عليك بتطبيق الصيغة ثم حفظ دفتر العمل. للقيام بذلك، عليك استخدام حلقتين for، واحدة تمر عبر كل صف والأخرى تمر عبر كل عمود.
كما ترى فقد تغيَّرت جميع القيم الغذائية، واستغرقت هذه المهمة وقتًا أقل بكثير من تغيير كل قيمة يدويًّا. هذا النوع من الأتمتة مفيد للغاية خاصةً إذا كنت تعمل مع ملفات كبيرة جدًا.
بإمكانك مراجعة محتوي موضوع “جداول بيانات إكسل في بايثون” بدايةً من عنوان “كتابة القيم” وحتى نهاية الموضوع، من خلال الرابط التالي:
إلى هنا يكون قد انتهى موضوع “جداول بيانات إكسل في بايثون”، لا تنسوا مراجعة نواتج التعلُّم أعلى المقال، وانتظرونا في الموضوع القادم!