اذهب إلى المحتوى
  • 0

محتاج تعديل لكود CLASS

Ali Ali49

السؤال

أرجو المساعدة

يوجد خطأ بهذا الكود الرجاء التحقق منه

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

 

تم التعديل في بواسطة Ali Ali49
رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

الكود الذي قدمته يحتوي على بعض الأخطاء. إليك الأخطاء الموجودة وكيفية تصحيحها:

الكود المستورد لـ `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
بتاريخ 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

هل الكود سليم بهذه الكيفية

تم التعديل في بواسطة Ali Ali49
رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

أرجو منك توضيح السؤال وذكر ما تريد فعله بالضبط، وبخصوص الكود:

ربما هناك خطأ في اسم المتغير 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.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...