Ali Ali49 نشر 5 يونيو 2023 أرسل تقرير نشر 5 يونيو 2023 (معدل) أرجو المساعدة يوجد خطأ بهذا الكود الرجاء التحقق منه from openpyxl import load_workbook class W_book: def __init__(self, BATH,A): self.BATH = BATH self.A = A def W(self): self.workbook = load_workbook(self.BATH) self.sheet = self.workbook.active self.column_values = [cell.value for cell in self.sheet['A']] def X(self): self.A = self.column_values تم التعديل في 5 يونيو 2023 بواسطة Ali Ali49 1 اقتباس
0 بلال زيادة نشر 5 يونيو 2023 أرسل تقرير نشر 5 يونيو 2023 الكود الذي قدمته يحتوي على بعض الأخطاء. إليك الأخطاء الموجودة وكيفية تصحيحها: الكود المستورد لـ `load_workbook` لا يبدو موجودًا في الكود. قم بتأكيد تثبيت حزمة openpyxl وتضمين الاستيراد الصحيح في بداية الكود: from openpyxl import load_workbook ينبغي استدعاء الدالة `W` قبل استدعاء الدالة `X` لضمان حصول المتغير `column_values` على قيمته الصحيحة. بمعنى آخر، قم بتغيير ترتيب استدعاء الدوال في الكود: def X(self): self.W() self.A = self.column_values بهذه الطريقة، ستتم استدعاء الدالة `W` أولاً لتحميل البيانات من الملف، ثم ستتم استدعاء الدالة `X` لتعيين قيمة `column_values` إلى `self.A`. بعد إجراء هذه التعديلات، يجب أن يكون الكود قد تم تصحيحه. ومع ذلك، قد تحتاج إلى إضافة أجزاء أخرى من الكود أو استدعاء الدوال الأخرى لاستخدامها بشكل صحيح. اقتباس
0 Ali Ali49 نشر 5 يونيو 2023 الكاتب أرسل تقرير نشر 5 يونيو 2023 (معدل) بتاريخ 29 دقائق مضت قال بلال زيادة: الكود الذي قدمته يحتوي على بعض الأخطاء. إليك الأخطاء الموجودة وكيفية تصحيحها: الكود المستورد لـ `load_workbook` لا يبدو موجودًا في الكود. قم بتأكيد تثبيت حزمة openpyxl وتضمين الاستيراد الصحيح في بداية الكود: from openpyxl import load_workbook ينبغي استدعاء الدالة `W` قبل استدعاء الدالة `X` لضمان حصول المتغير `column_values` على قيمته الصحيحة. بمعنى آخر، قم بتغيير ترتيب استدعاء الدوال في الكود: def X(self): self.W() self.A = self.column_values بهذه الطريقة، ستتم استدعاء الدالة `W` أولاً لتحميل البيانات من الملف، ثم ستتم استدعاء الدالة `X` لتعيين قيمة `column_values` إلى `self.A`. بعد إجراء هذه التعديلات، يجب أن يكون الكود قد تم تصحيحه. ومع ذلك، قد تحتاج إلى إضافة أجزاء أخرى من الكود أو استدعاء الدوال الأخرى لاستخدامها بشكل صحيح. ,, قمت بتعديل الكود كما أوضحت لي تماما .. قمت بإستدعاء الدالة بهذه الكيفية a = W_book('d:\abc.xlsx',g1) a.x() m = g1 حيث إريد أن يأخد المتغير m قيمة g1 هل الكود سليم بهذه الكيفية تم التعديل في 5 يونيو 2023 بواسطة Ali Ali49 اقتباس
0 Mustafa Suleiman نشر 5 يونيو 2023 أرسل تقرير نشر 5 يونيو 2023 أرجو منك توضيح السؤال وذكر ما تريد فعله بالضبط، وبخصوص الكود: ربما هناك خطأ في اسم المتغير BATH في الدالة __init__. ربما تقصد PATH بدلاً من BATH. أيضًا تحقق من المرجع إلى قائمة self.column_values في دالة X، حيث يجب عليك استدعاء دالة W قبل استخدام self.column_values في دالة X. وهناك خطأ في الرجوع من دالة X، ويجب عليك إرجاع قيمة self.column_values بدلاً من تعديل قيمة self.A. from openpyxl import load_workbook class W_book: def __init__(self, PATH, A): self.PATH = PATH self.A = A def W(self): self.workbook = load_workbook(self.PATH) self.sheet = self.workbook.active self.column_values = [cell.value for cell in self.sheet['A']] def X(self): self.W() # استدعاء الدالة W للحصول على القيم المطلوبة return self.column_values وبخصوص التعديل الذي قمت به: بتاريخ 34 دقائق مضت قال Ali Ali49: ,, قمت بتعديل الكود كما أوضحت لي تماما .. قمت بإستدعاء الدالة بهذه الكيفية a = W_book('d:\abc.xlsx',g1) a.x() m = g1 حيث إريد أن يأخد المتغير m قيمة g1 هل الكود سليم بهذه الكيفية فلا يوجد خطأ في استدعاء الدالة X وتعيين قيمة m، والحروف الكبيرة والصغيرة تعتبر مختلفة في لغة Python، لذا يجب أن تتأكد من استخدام الأحرف الكبيرة والصغيرة بشكل صحيح في أسماء المتغيرات والدوال، بالشكل التالي: a = W_book('d:\abc.xlsx', 'g1') a.X() m = a.A وتأكد أنك تقوم بتمرير القيمة 'g1' كسلسلة نصية وتقوم بإستدعاء الدالة X بحرف كبير a.X()، ثم تعيين قيمة m إلى a.A بدلاً من g1. اقتباس
السؤال
Ali Ali49
أرجو المساعدة
يوجد خطأ بهذا الكود الرجاء التحقق منه
3 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.