【发布时间】:2020-07-18 23:21:12
【问题描述】:
我有 MySQL 服务器,我们可以称为 MySever,该服务器上有一百个数据库,我们可以将这些数据库称为:database1、database2、database3……database100。每个数据库都有一个名为 tablepull 的表。我想要做的是获取每个数据库中的每个名为“tablepull”的表并将该表存储到 python 列表中,表“tablepull”对于每个数据库都有完全相同的标题,并且可以保存为 pandas 中的数据框。
这里是定义的变量:
from sqlalchemy import create_engine
import pandas as pd
UserName = MyUserName
Password = MyPassword
Server = MyServer
Databases = [‘database1’, ‘database2’, ‘database3’,… ‘database100’]
Table = tablepull
我可以使用这种语法轻松地拉出一个数据库表:
engine = create_engine(mssql:// UserName: Password@Server/Table?driver=SQL Server Native Client 11.0')
connection = engine.connect()
cnxn = connection.connection
#Read in data into from sql table#
raw_data = pd.read_sql(sql = """SELECT * FROM Table""", con = cnxn)
目标是能够遍历所有数据库并为每个数据库获取所需的表(tablepull)并保存到列表中。任何帮助或指导将不胜感激。
谢谢
【问题讨论】:
-
您使用的是哪个DB-API?
pyodbc,pymssql,其他?通常,它由引擎连接中的mssql关键字表示,您在上面的编辑代码中没有。
标签: python sql pandas list sqlalchemy