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,那么每次获取我的代码时,都不会手动输入,
预先感谢
答案 0 :(得分:0)
可能的解决方案是将表名称存储在喜欢的列表中
Tbname=[]
while i < n_table :
Tb = df_table.DatabaseName[i] + '.' + df_table.TableName[i]
Tbname.append(Tb)
i = i+1
return Tbname
现在,您可以获取表名列表,并可以根据需要使用。 尝试一次