我要调用Microsoft SQL中的多个数据库:
driver = 'SQL Server'
server = '123'
tcon = 'yes'
uname = 'name'
pword = 'password'
query = "query1"
我将我的数据库列为以下列表:
db = ['DBA','DBB','DBC']
然后执行循环调用上面列表中的所有数据库,如下所示:
for i in db:
sql_conn = pyodbc.connect(driver='{SQL Server}', host=server, database= f'{i}',
trusted_connection=tcon, user=uname, password=pword)
df = pd.read_sql(query, sql_conn)
df['DB_NAME'] = f'{i}' #to add name column in the dataframe
但是,我只从“DBC”获取数据。我想从上面的循环中得到三个独立的数据帧,比如df\u DBA、df\u DBB、df\u DBC
在每个循环中,
df
被一个新的数据帧覆盖。因此它将保存来自循环最后一次迭代的数据,这是来自DBC
,因为它是列表中的最后一次如果希望每个数据库中的数据都有单独的变量,请尝试以下操作:
相关问题 更多 >
编程相关推荐