Python 从sqlAlchemy表模型获取表列

Python 从sqlAlchemy表模型获取表列,python,sqlalchemy,pyramid,Python,Sqlalchemy,Pyramid,我有一个表,我想获取所有的列名,但在浏览互联网站后,我找不到一个可行的方法。这就是我的桌子的样子: class myTable(Base): __tablename__ = 'myTable' col1 = Column(Integer, primary_key=True) col2 = Column(Unicode(10)) col3 = Column(Integer) col4 = Column(Numeric(10, 6)) col5 =

我有一个表,我想获取所有的列名,但在浏览互联网站后,我找不到一个可行的方法。这就是我的桌子的样子:

class myTable(Base):
    __tablename__ = 'myTable'

    col1 = Column(Integer, primary_key=True)
    col2 = Column(Unicode(10))
    col3 = Column(Integer)

    col4 = Column(Numeric(10, 6))
    col5 = Column(Numeric(6,3))
    col6 = Column(Numeric(6,3))

    child = relationship('tChild',
                          backref=backref('children'))
我希望能够打印for循环中的所有列名。例:

"col1", "col2", "col3".... etc

使用常规sql很容易做到这一点,但我似乎不知道如何使用sqlAlchemy表模型来实现这一点

myTable.__table__.columns

列的格式为
myTable.col1
(包括表名)。如果只需要列名,请为每列获取
.key

[column.key for column in myTable.__table__.columns]

我想我太痴迷于它了,没有在我认为它不存在的智能意义上出现。谢谢,为了更准确,请将此添加到您的答案中,因为这正是我要查找的:
用于myTable中的col.\u table\u.columns:print“col:+col.description
我可以这样动态地将值分配给myTable实例吗?有没有一种动态分配列值的方法?假设我有一个包含列名和一个值(colName:val)的字典,是否可以迭代表并通过字典填充适当的列,而不执行一堆if语句?我这么问是因为一切都完成了dynamically@john:通常的
setattr(myobj,'column\u name',value)
应该可以工作-就像任何其他Python对象一样,这是一种只获取列名的更简单的方法(无需使用列表理解):
myTable.\uuuu\uu.columns.keys()
[column.key for column in myTable.__table__.columns]