从服务器获取表名

时间:2018-11-05 09:38:07

标签: python python-3.x

def GetTbname(Id):
    query = "select DatabaseName,TableName from hub.analytics_table where id=%s" % (Id)
    df_table=sql.read_sql(query,Conn_test)
    n_table = len(df_table)
    i=0
    Tbname=''
    while i < n_table :
        Tbname = Tbname + df_table.DatabaseName[i] + '.' +     df_table.TableName[i]
        i = i+1
    return Tbname


tablename1 = GetTbname(1)
tablename2 = GetTbname(2)
tablename3 = GetTbname(3)
print(tablename1)
print(tablename2)
print(tablename3)

我需要从服务器获取表名到Python中。上面的代码都是正确的,但问题是,当我在服务器中添加任何新表时,我必须手动输入tablename4 = GetTbname(4),依此类推...

有没有什么可能的解决方案,如果我输入tablename = GetTbname,那么每次获取我的代码时,都不会手动输入,

预先感谢

1 个答案:

答案 0 :(得分:0)

可能的解决方案是将表名称存储在喜欢的列表中

Tbname=[]
while i < n_table :
    Tb = df_table.DatabaseName[i] + '.' + df_table.TableName[i]
    Tbname.append(Tb)    
    i = i+1
return Tbname

现在,您可以获取表名列表,并可以根据需要使用。 尝试一次