遍历列-SQLAlchemy Core

时间:2018-12-05 06:34:33

标签: python-3.x sqlalchemy

我试图遍历数据库中所有表的列以选择空列。我最终使用了原始sql和.format使其正常工作,但是如何使用SQLAlchemy来达到相同的结果?这是我编写的代码:

from sqlalchemy import MetaData, create_engine, select
from sqlalchemy.sql import func

engine = create_engine('...')
conn = engine.connect()                                                                                                                                                                                 

tablemeta = MetaData(bind=engine, reflect=True)

for t in tablemeta.sorted_tables:
    for col in t.c:                                                                                                                                                                                       
        s = select([func.count(t.c[str(col)].distinct())])                                                                                                                                                
        s = s.scalar()                                                                                                                                                                                    
        if s <= 1:                                                                                                                                                                                        
            print(s)                                                                                                                                                                                      

但这会导致KeyError。

1 个答案:

答案 0 :(得分:0)

好的,我可以使用它

Expecting a class body