دالة Iter_rows - كتاب المهارات الرقمية - الصف 8 - الفصل 1 - المملكة العربية السعودية

الكتاب: كتاب المهارات الرقمية - الصف 8 - الفصل 1 | المادة: المهارات الرقمية | المرحلة: الصف 8 | الفصل الدراسي: 1

الدولة: المملكة العربية السعودية | المنهج: المنهج السعودي - وزارة التعليم

الدرس: دالة Iter_rows

📚 معلومات الصفحة

الكتاب: كتاب المهارات الرقمية - الصف 8 - الفصل 1 | المادة: المهارات الرقمية | المرحلة: الصف 8 | الفصل الدراسي: 1

الدولة: المملكة العربية السعودية | المنهج: المنهج السعودي - وزارة التعليم

نوع المحتوى: درس تعليمي

📝 ملخص الصفحة

📚 دالة Iter_rows

المفاهيم الأساسية

دالة Iter_rows: تُستخدم للحصول على جميع القيم لصف أو أكثر في ورقة عمل إكسل باستخدام مكتبة `openpyxl`.

خريطة المفاهيم

```markmap

استخدام بايثون مع إكسل

الهدف

أتمتة المهام المتكررة

إجراء العمليات الحسابية المعقدة بشكل أسرع

الأداة: مكتبة أوبن بيكسل (openpyxl)

وظائفها

  • قراءة بيانات إكسل
  • كتابة بيانات إكسل
  • إجراء الحسابات الرياضية
  • إنشاء الرسوم والمخططات البيانية

خطوات تثبيتها في PyCharm

  • فتح نافذة "Packages" (الحزم)
  • البحث عن "openpyxl"
  • اختيار المكتبة والضغط على "Install" (تثبيت)
  • انتظار رسالة اكتمال التثبيت

الخطوات الأولى بعد التثبيت

استيراد المكتبة

  • استخدام الأمر: `import openpyxl`

العمل مع دفاتر العمل

#### تحميل دفتر عمل موجود

  • استخدام دالة: `load_workbook()`
  • يجب وضع الملف في نفس مجلد الكود أو استخدام المسار المطلق
#### التعرف على أوراق العمل

  • استخدام السمة: `sheetnames` لمعرفة أسماء الأوراق

معرفة أبعاد الورقة

سمة الصف الأقصى (max_row attribute)

  • تُستخدم لمعرفة عدد الصفوف الموجودة في الورقة

سمة العمود الأقصى (max_column attribute)

  • تُستخدم لمعرفة عدد الأعمدة الموجودة في الورقة

الوصول إلى الخلايا

خصائص الخلية الرئيسية

  • موقعها في الملف
  • قيمتها

طرق الوصول

  • الوصول إلى خلية محددة (مثل `sheet_obj["A1"]`)
  • الوصول إلى نطاق من الخلايا (مثل `sheet_obj["B1":"B5"]`)

الوصول إلى قيم الخلايا

الوصول إلى قيمة خلية واحدة

  • تحديد موقع الخلية (مثال: "C3")
  • استدعاء سمة `.value` (مثال: `cell.value`)

الوصول إلى قيمة أكثر من خلية واحدة

  • استخدام الدالتان `iter_rows` و `iter_cols`
  • لتجنب البحث اليدوي الطويل والمعرض للخطأ

دالة iter_rows

الغرض

  • الحصول على جميع القيم لصف أو أكثر في ورقة عمل إكسل

الصيغة

  • iter\_rows (min\_row=None, max\_row=None, min\_col=None, max\_col=None)

المعاملات (Parameters)

  • `min_row`: فهرس الصف الأول في النطاق
  • `max_row`: فهرس الصف الأخير في النطاق
  • `min_col`: فهرس العمود الأول في النطاق
  • `max_col`: فهرس العمود الأخير في النطاق

ملاحظة

  • إذا لم تحدد الفهرس، يبدأ النطاق من الخلية الأولى "A1"

مثال تطبيقي

  • للحصول على جميع الحقائق الغذائية للحليب من الصف 3 والأعمدة من 3 إلى 11
```

نقاط مهمة

  • تُستخدم `iter_rows` لتكرار (Iterate) عبر صفوف محددة في ورقة إكسل.
  • المعاملات `min_row`, `max_row`, `min_col`, `max_col` هي معاملات اختيارية لتحديد نطاق الخلايا المراد الوصول إليها.
  • عند عدم تحديد النطاق، تبدأ الدالة من الخلية الأولى (A1).
  • للحصول على القيم الفعلية للخلايا، يجب استخدام سمة `.value` لكل خلية داخل الحلقة التكرارية.

📋 المحتوى المنظم

📖 محتوى تعليمي مفصّل

دالة Iter_rows

نوع: محتوى تعليمي

دالة Iter_rows

نوع: محتوى تعليمي

تُستخدم دالة Iter_rows عندما تريد الحصول على جميع القيم لصف أو أكثر في ورقة عمل إكسل.

نوع: محتوى تعليمي

iter_rows (min_row=None, max_row=None, min_col=None, max_col=None)

نوع: محتوى تعليمي

إذا لم تحدد الفهرس، فسيبدأ نطاق البحث من الخلية الأولى "A1".

نوع: محتوى تعليمي

ستُستخدم دالة iter_rows الآن للحصول على جميع الحقائق الغذائية للحليب. عليك الحصول على جميع مواقع الخلايا لصف الحليب، وهو "3D" ثم استدعاء سمة القيمة.

نوع: محتوى تعليمي

import openpyxl path = "nutrition.xlsx" wb = openpyxl.load_workbook(path) sheet_obj = wb['arabic'] # أنشئ متغير صفوف يحتوي على مواقع حقائق التغذية الخاصة بالحليب rows = sheet_obj.iter_rows(min_row=3, max_row=3, min_col=3, max_col=11) # المتداخلة لطباعة قيمة كل خلية rof الآن استخدم حلقات print("حقائق غذائية عن الحليب: ", end="") for row in rows: for cell in row: print(cell.value, end=" ")

نوع: محتوى تعليمي

حقائق غذائية عن الحليب: 150 38 0 101 123 5.63 3.25 3.27 61 88.1

نوع: METADATA

وزارة التعليم Ministry of Education 2025 - 1447

نوع: METADATA

177

🔍 عناصر مرئية

A conceptual diagram illustrating the parameters of the `iter_rows` function. A large grey rectangular box contains the text 'iter_rows (min_row=None, max_row=None, min_col=None, max_col=None)'. Two blue oval-shaped boxes are connected to this main box by curved arrows originating from the main box. The left blue oval box is labeled 'فهرس الصف الأصغر والأكبر' (Index of the smallest and largest row) and points to 'min_row' and 'max_row' within the main box. The right blue oval box is labeled 'فهرس العمود الأصغر والأكبر' (Index of the smallest and largest column) and points to 'min_col' and 'max_col' within the main box. This diagram visually explains how to specify row and column ranges for the iter_rows function.

📄 النص الكامل للصفحة

دالة Iter_rows تُستخدم دالة Iter_rows عندما تريد الحصول على جميع القيم لصف أو أكثر في ورقة عمل إكسل. iter_rows (min_row=None, max_row=None, min_col=None, max_col=None) إذا لم تحدد الفهرس، فسيبدأ نطاق البحث من الخلية الأولى "A1". ستُستخدم دالة iter_rows الآن للحصول على جميع الحقائق الغذائية للحليب. عليك الحصول على جميع مواقع الخلايا لصف الحليب، وهو "3D" ثم استدعاء سمة القيمة. import openpyxl path = "nutrition.xlsx" wb = openpyxl.load_workbook(path) sheet_obj = wb['arabic'] # أنشئ متغير صفوف يحتوي على مواقع حقائق التغذية الخاصة بالحليب rows = sheet_obj.iter_rows(min_row=3, max_row=3, min_col=3, max_col=11) # المتداخلة لطباعة قيمة كل خلية rof الآن استخدم حلقات print("حقائق غذائية عن الحليب: ", end="") for row in rows: for cell in row: print(cell.value, end=" ") حقائق غذائية عن الحليب: 150 38 0 101 123 5.63 3.25 3.27 61 88.1 وزارة التعليم Ministry of Education 2025 - 1447 177 --- VISUAL CONTEXT --- **DIAGRAM**: Untitled Description: A conceptual diagram illustrating the parameters of the `iter_rows` function. A large grey rectangular box contains the text 'iter_rows (min_row=None, max_row=None, min_col=None, max_col=None)'. Two blue oval-shaped boxes are connected to this main box by curved arrows originating from the main box. The left blue oval box is labeled 'فهرس الصف الأصغر والأكبر' (Index of the smallest and largest row) and points to 'min_row' and 'max_row' within the main box. The right blue oval box is labeled 'فهرس العمود الأصغر والأكبر' (Index of the smallest and largest column) and points to 'min_col' and 'max_col' within the main box. This diagram visually explains how to specify row and column ranges for the iter_rows function. Context: This diagram visually explains the optional parameters (min_row, max_row, min_col, max_col) of the iter_rows function, which are used to define the specific range of cells to iterate over in an Excel worksheet.

🎴 بطاقات تعليمية للمراجعة

عدد البطاقات: 4 بطاقة لهذه الصفحة

ما هي الوظيفة الأساسية لدالة `iter_rows` في مكتبة openpyxl؟

  • أ) تُستخدم لإنشاء ورقة عمل إكسل جديدة.
  • ب) تُستخدم لحفظ ملف إكسل بعد التعديل عليه.
  • ج) تُستخدم للحصول على جميع القيم لصف أو أكثر في ورقة عمل إكسل.
  • د) تُستخدم لحساب مجموع قيم عمود معين تلقائياً.

الإجابة الصحيحة: c

الإجابة: تُستخدم للحصول على جميع القيم لصف أو أكثر في ورقة عمل إكسل.

الشرح: دالة `iter_rows` هي أداة في مكتبة openpyxl للتعامل مع ملفات إكسل. وظيفتها الأساسية هي تحديد نطاق من الصفوف والأعمدة (باستخدام معاملات مثل min_row, max_row, min_col, max_col) ثم إرجاع كائن مكرر (iterator) يسمح بالمرور على كل خلية ضمن هذا النطاق لقراءة أو معالجة قيمتها.

تلميح: تتعلق بالتعامل مع نطاق من الخلايا في جدول البيانات.

التصنيف: تعريف | المستوى: سهل

إذا لم تحدد أي معاملات (parameters) عند استدعاء دالة `iter_rows()`، فمن أين يبدأ نطاق البحث؟

  • أ) يبدأ من آخر خلية تم التعديل عليها في الملف.
  • ب) يبدأ من الخلية الأولى 'A1'.
  • ج) يبدأ من منتصف ورقة العمل.
  • د) يطلب من المستخدم تحديد نقطة البداية.

الإجابة الصحيحة: b

الإجابة: يبدأ من الخلية الأولى 'A1'.

الشرح: المعاملات في دالة `iter_rows` (مثل min_row, max_row) هي اختيارية (Optional) ويمكن تركها فارغة (None). إذا لم يتم تحديدها، فإن الدالة تفترض قيماً افتراضية تغطي كامل ورقة العمل، وتبدأ عملية التكرار من أول خلية موجودة، وهي الخلية 'A1' في الزاوية العلوية اليسرى.

تلميح: ما هي الخلية الافتراضية أو نقطة البداية في ورقة إكسل؟

التصنيف: مفهوم جوهري | المستوى: سهل

ما هي المعاملات (parameters) الأربعة الاختيارية التي يمكن تمريرها لدالة `iter_rows` لتحديد نطاق معين من الخلايا؟

  • أ) start_cell, end_cell, sheet_name, data_only
  • ب) filename, worksheet, row_start, col_start
  • ج) min_row, max_row, min_col, max_col
  • د) from_row, to_row, from_column, to_column

الإجابة الصحيحة: c

الإجابة: min_row, max_row, min_col, max_col

الشرح: تُستخدم هذه المعاملات الأربعة للتحكم الدقيق في نطاق الخلايا الذي نريد التكرار عليه: 1. min_row: رقم الصف الأول في النطاق. 2. max_row: رقم الصف الأخير في النطاق. 3. min_col: رقم العمود الأول في النطاق. 4. max_col: رقم العمود الأخير في النطاق. إذا لم تُحدد، يتم أخذ كامل الورقة.

تلميح: المعاملات تحدد الحد الأدنى والأعلى للصفوف والأعمدة.

التصنيف: صيغة/خطوات | المستوى: متوسط

في الكود البرمجي المذكور للحصول على حقائق الحليب، ماذا يمثل الاستدعاء `iter_rows(min_row=3, max_row=3, min_col=3, max_col=11)`؟

  • أ) يحدد نطاقاً يتكون من 3 صفوف (من 1 إلى 3) و 11 عموداً (من A إلى K).
  • ب) يحدد نطاقاً يتكون من صف واحد (الصف 3) ومن العمود C (3) إلى العمود K (11).
  • ج) يحدد نطاقاً يتكون من 11 صفاً (من 3 إلى 13) و 3 أعمدة (من C إلى E).
  • د) يحدد نطاقاً يتكون من الصفوف من 3 إلى 11 والأعمدة من C إلى K.

الإجابة الصحيحة: b

الإجابة: يحدد نطاقاً يتكون من صف واحد (الصف 3) ومن العمود C (3) إلى العمود K (11).

الشرح: يحدد الكود نطاقاً ثنائي الأبعاد: - الصفوف: min_row=3 و max_row=3 يعني أن النطاق يقتصر على الصف رقم 3 فقط. - الأعمدة: min_col=3 و max_col=11 يعني أن النطاق يبدأ من العمود الثالث (C) وينتهي عند العمود الحادي عشر (K). وبالتالي، النطاق هو جميع الخلايا من C3 إلى K3.

تلميح: انظر إلى قيم min_row و max_row، ثم قيم min_col و max_col.

التصنيف: سؤال اختبار | المستوى: متوسط