Python: объект передачи данных

html-agility-pack ironpython python

Вопрос

проблема

У меня есть разные html-таблицы, которые мне нужны для разбора / доступа с моей веб-страницы клиентов, данные по ней могут различаться в разных таблицах (длина столбцов).

Итак, я сделал, чтобы создать класс для каждой таблицы, но эта задача стала смешной, так как есть много таблиц, которые мне нужно анализировать с изменением данных.

Вопрос

Есть ли способ реализовать DTO в python, кроме создания класса для каждой информации, которую я передаю?

пример

Класс

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

Заполнение экземпляров

items = []
for tds in trs:
    item = HoldItem()

    if (x == PROP_A):
        item.prop_a = tds.InnerText

    ...
    ...
    ...

    items.append(item)

return items

Перенос в базу данных SQLServer

    for item in items:
        command.AddWithValue("@prop_a", item.prop_a)

факты

  • Я использую Iron Python
  • Я передаю информацию в таблицу (SQL Server)
  • Я использую HtmlAgilityPack для анализа таблицы html
  • Я просматриваю страницу в Интернете

Принятый ответ

Это, по- видимому, имеет смысл для вашей цели


Популярные ответы

Python динамичен.

Переопределите __get__ и __set__ и сохраните значения полей в словаре, встроенном в ваш класс (экземпляр).



Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему
Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему