Python 全局变量未在 read_sql 执行中生成代码

问题描述

我必须将数据导入到我想获取我声明的全局变量查询中。当我传递一个变量时它起作用,但当我将多个变量分配给查询时它不起作用。它正在运行,但结果没有给我任何数据。关于为什么我的查询没有产生任何数据的任何想法?

#Declare variables for queries
globals()['old_store1'] = 313
globals()['new_store1'] = 3157
globals()['old_store2'] = 126
globals()['new_store2'] = 3196
globals()['datefrom'] = '2/15/2019'
globals()['dateto'] = '3/22/2019'
globals()['yearadd'] = '+2'
globals()['dayadd'] = '+4'

#Assign ITC Query
ITCQuery = """SELECT 
    CAST( Store as VARCHAR)  + 'þ' as Store,CONVERT( VARCHAR,Tran_Dt2,101 ) + 'þ' as Tran_Dt,CONVERT(char(5),Start_Time,108) + 'þ' as Start_Time,[Count]  
 FROM
 (
  SELECT 
    CASE 
    WHEN [Store] = {old_store1} THEN {new_store1}
    WHEN [Store] = {old_store2} THEN {new_store2}
    END AS Store,DATEADD (YEAR,{yearadd},DATEADD(DAY,{dayadd},Tran_Dt2)) as Tran_Dt2,[Start_Time],[Count],Store as Sister_Store
 FROM 
(
SELECT 
Store,CONVERT(datetime,Tran_Dt) as Tran_Dt2,Count 
FROM [VolumeDrivers].[dbo].[SALES_DRIVERS_ITC_Signup_65wks]
WHERE CONVERT(datetime,Tran_Dt)  between CONVERT(datetime,{datefrom}) and CONVERT(datetime,{dateto})
AND 
Store IN ({old_store1},{old_store2}) 
--Single Store: Store = Store #
) AS A
) AS B
ORDER BY Tran_Dt2,Store
            """

#print(ITCQuery)

#execute query
Sales_Drivers_ITCSignup = pd.read_sql(ITCQuery.format(**globals()),con = conn)
Sales_Drivers_ITCSignup.head()

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)