So greifen Sie über die Klassenvariablen in Python auf Klassenmethoden zuPython

Python-Programme
Anonymous
 So greifen Sie über die Klassenvariablen in Python auf Klassenmethoden zu

Post by Anonymous »

Ich verarbeite Excel-Tabellen mit Pandas und hier ist eine Abkürzung von dem, was ich bisher habe:

Code: Select all

class DataLoader:
"""
Loads excel sheets & convert them into CSV
"""
def __init__(self, *kwargs):
self.sheet1= None
self.sheet2 = None
self.params = None
self.load()

def load(self):
"""loads all data"""
....

class sheetToDf:
"""
convert csv files generated from Dataloader into dataframes
"""

def __init__(self):
self.loader = DataLoader()
self.df1 , self.df2 = None, None
self.load()

def load(self) -> None:
"""loads dataframes from the sheets processed by data loader"""

class lookUps:
def __init__(self):
self.data = sheetToDf()

def lookup_func1(self):
....
def lookup_func2(self):
...
Die Funktion Load in sheetToDF und DataLoader soll die Excel-Tabellen als CSV laden und sie dann in Datenrahmen konvertieren. Ist es nicht sinnvoll, die Informationen von DataLoader und sheetToDF irgendwie verfügbar zu machen, sobald die Klasse erstellt oder importiert wird? Im Moment funktioniert mein Code gut, aber ich möchte nicht jedes Mal laden, wenn die Objekte instanziiert werden.
Das Konvertieren der Methoden in Klassenmethoden und der Versuch, mit Klassenvariablen darauf zuzugreifen, hat nicht funktioniert:

Code: Select all

class DataLoader:
sheet1= None
sheet2 = None
params = None
load()
# below also didn't work
# cls.load()
# DataLoader.load()

@classmethod
def load(cls):
...
Was ist zu tun?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post