Python: objet de transfert de données

html-agility-pack ironpython python

Question

Problème

J'ai plusieurs tables HTML que je dois analyser / accéder à partir de la page Web de mes clients, les données peuvent varier d'une table à l'autre (longueur des colonnes).

Donc, ce que j’ai fait est de créer une classe pour chaque table, mais cette tâche est devenue ridicule, puisqu’il ya beaucoup de tables à analyser avec des données variables.

Question

Existe-t-il un moyen d'implémenter des DTO en python autre que la création d'une classe pour chaque donnée à transférer?

Exemple

Classe

class HoldItem():

    @property
    def none1(self):
        return self

    @property
    def none2(self):
        return self

    @property
    def item(self):
        return self

    @property
    def plant(self):
        return self

    @property
    def location(self):
        return self

    @property
    def material(self):
        return self

    @none1.setter
    def none1(self, value):
        self.none1 = value

Remplir des instances

class HoldItem():

    @property
    def none1(self):
        return self

    @property
    def none2(self):
        return self

    @property
    def item(self):
        return self

    @property
    def plant(self):
        return self

    @property
    def location(self):
        return self

    @property
    def material(self):
        return self

    @none1.setter
    def none1(self, value):
        self.none1 = value

Transfert vers la base de données SQLServer

class HoldItem():

    @property
    def none1(self):
        return self

    @property
    def none2(self):
        return self

    @property
    def item(self):
        return self

    @property
    def plant(self):
        return self

    @property
    def location(self):
        return self

    @property
    def material(self):
        return self

    @none1.setter
    def none1(self, value):
        self.none1 = value

Faits

  • J'utilise Iron Python
  • Je transfère les informations dans une table (SQL Server)
  • J'utilise HtmlAgilityPack afin d'analyser le tableau html
  • Je suis en train d'explorer la page

Réponse acceptée

Cela semble avoir du sens pour votre propos


Réponse populaire

Python est dynamique.

Remplacez __get__ et __set__ et stockez les 'valeurs de champ' dans un dictionnaire interne à votre classe (instance).




Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi