如何在SQL Server中通过值查找对应表和列(Python3+Pandas)
问题:SQL Server数据库中查找含指定值的表和列(Python+Pandas)
本人SQL知识有限,在Python3中操作SQL Server数据库时遇到困境:该库无相关文档,且表、列名称没有友好的描述性,很难定位需要的表和列。
我已经用Pandas写了几个辅助函数,用来获取库中的表名、列名,以及查找包含特定字符串的表或列:
def find_tables(tablas, s): return tablas.loc[(tablas.table_name.str.contains(s, case=False))].drop_duplicates('table_name') def find_column(tablas, s): if isinstance(s, list): cond = tablas.column_name.str.contains('|'.join(s)) else: cond = tablas.column_name.str.contains(s, case=False) return tablas.loc[(cond)] def explora_tabla(tablas, s): return tablas.loc[(tablas.table_name.str.contains(s, case=False))]
但因为表、列命名怪异,这些函数满足不了需求。所以我想采用「暴力法」查找包含指定值的表和列名称,必要时可以结合已知字段过滤,也欢迎更巧妙的解决方案。
之前尝试过暴力查找的方案,但测试值8004YS1LSLR时出现了数据类型报错。我需要支持匹配整数、浮点数、字符串等多种格式的值,希望得到可以传入pd.read_sql的通用查询语句。
内容的提问来源于stack exchange,提问作者nopeva
相关产品推荐
相关产品推荐

