【发布时间】:2019-05-07 21:07:12
【问题描述】:
我有一些 SQL 查询存储在 Excel 文件中。
我想在给定的 SQL 数据库上运行它们,然后将 SQL 查询的结果以及原始数据框存储在单独的数据框中。
from sqlalchemy import create_engine
import pymssql
engine = create_engine('connection string')
首先,我尝试将结果存储在一个工作正常的临时数据框中。这些 SQL 查询中的每一个都提供 3-4 行的输出。
df_result = pd.DataFrame()
for row in df.itertuples():
df_temp = pd.read_sql(row.SQL_Query, engine)
df_result = df_result.append(df_temp)
但目标是将结果与其关联的查询/行一起存储。下面显然是错误的,因为循环只存储最后 3 次的结果
df_result = pd.DataFrame()
for row in df.itertuples():
df_temp = pd.read_sql(row.SQL_Query, engine)
df_result = pd.merge(df, df_temp, left_index=True, right_index=True)
【问题讨论】:
标签: sql pandas sqlalchemy