【发布时间】:2020-04-15 09:08:40
【问题描述】:
我想在 python 循环中保留 oracle-sql 查询。所以很少有python变量需要放在sql查询中。以下是我的代码:
import pandas as pd
import cx_Oracle
for i in range(df.shape[0]):
a=df.iloc[i,0]
b=df.iloc[i,1]
c=df.iloc[i,2]
d=df.iloc[i,3]
con = cx_Oracle.connect('xyz', encoding='utf-8')
SQL_query= '''SELECT q1.*,
CASE
WHEN start_date BETWEEN {a} AND {b} THEN '14A'
WHEN start_date BETWEEN {c} AND {d} THEN '14B'..........'''
pdf1 = pd.read_sql(SQL_query , con)
如您所见,a,b,c,d 放在大括号中。我想将其视为变量,但代码将其视为字符串
【问题讨论】:
-
另外不要打开/关闭数据库连接循环。
标签: python sql python-3.x oracle oracle11g