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

التعامل مع الملف من خلال الكلاس

Ahmed Ahmed64

السؤال

كيف أستطيع التعامل مع ملف إكسل و ورقة العمل في أكثر من إجراء من خلال إستدعاء الكلاس

import openpyxl
from openpyxl import Workbook , load_workbook
class Work :
  def __init__(self,b1,s1):
    self.b1=b1
    self.s1=s1
    b1 = load_workbook('إسم ملف الإكسل.xlsx')
    s1 = b1['إسم ورقة العمل']



def s ():
    a=Work(a1,s1)
    
    print(a)
    
print(s ()) 

 

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

Recommended Posts

  • 0

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

  • الوصول لل sheets من خلال الدالة get_sheet_names() 
    wb.get_sheet_names()
    ['Sheet1', 'Sheet2', 'Sheet3']

     

  • الوصول للخلايا من خلايا 

    sheet.cell(row=2, column=4)
    <Cell Sheet1.D2>
    sheet.cell(row=2, column=4).value
    'Pencil'
  • يمكنك استخدام loop
     for x in range (1,9):
        print(x,sheet.cell(row=x,column=4).value)

     

يوجد العديد من الدوال الأخرى يمكنك الوصول لها من خلال التوثيق الرسمي لهذه المكتبة من هنا

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

  • 0
بتاريخ 50 دقائق مضت قال Ahmed Ahmed:

أخي يبدو أن السؤال لم يكن واضح لك

المطلوب كيف أتعامل من خلال class لكي أطبق الإحراء داخل  أي def

يمكنك إضافة الدوال في ال class ثم إستدعائها كم في المثال التالي

class WorkbookExtended():
    def __init__(self, file_path):
        self.workbook = load_workbook(file_path)

    def locate_value(self, value, range):
        ws = self.workbook.active
        cells_with_value = [cell.coordinate for row in ws[range] for cell in row if cell.value == value]
        return cells_with_value

wbe = WorkbookExtended("test.xlsx")
wbe.locate_value("foo", "A2:B10")

تم إضافة الدالة locate_value في الكلاس ثم قام بعد ذلك بغستدعائها من خلال ال wbe

إذا كنت تقصد ذلك فيمكنك البحث عن ال Extending openpyxl workbook class للمزيد من المعلومات

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

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...