python - 从具有已定义名称列表的查询列表中创建数据框
问题描述
我正在尝试运行一个查询来更改从 SQL 数据库中提取的不同数据框的名称。我已经开发了一个简单的定义来运行给定 SQL 文件名称的查询。for 循环运行正常,但它会将Query重写为报告函数中最后观察到的数据帧。
def report(query_name):
df = []
filename = query_name +'.sql'
# read the sql file
with open(filename, 'r') as query:
connection = sql_server_connection(server = "server", database = "database")
with connection:
df = pd.read_sql_query(query.read(), connection)
return df
queries = ['name1','name2','name3']
for query in queries:
query = report(query)
我希望从中看到的是
name1 = 报告中的数据(name1)
name2 = 报告中的数据(name2)
名称 3 = 报告中的数据(名称 3)
任何帮助将不胜感激。
解决方案
试试这个
queries = ['name1','name2','name3']
querie_data = {}
for query in queries:
querie_data[query] = report(query)
访问数据
querie_data['name1']
推荐阅读
- sql - 某些 Unicode 空间类别字符没有被 TRANSLATE 或 REPLACE 替换
- r - ggmap中带有自定义颜色代码的Voronoi镶嵌?
- reactjs - 针对复杂的交互式应用程序的基于 React 的 UI 框架建议
- stackexchange-api - 如何通过 Stack Exchange API 的一次调用获取用户的热门标签?
- python - 使用 SQLAlchemy 在写入主副本和读取副本之间分派的数据库路由器的管理不善的事务堆栈
- java - 从选择中设置值时出现 Angular 10 错误
- python - Python netCDF4 - 变量索引
- reactjs - 码头工人反应连接问题
- javascript - 当浏览器允许和不加载 png 时,如何为 background-img 加载 webp 图像?
- python - Django - 如果用户在注册期间已经存在,我如何返回错误消息?