【发布时间】:2020-06-03 20:21:02
【问题描述】:
我正在使用 Python 读取名称的 csv 文件,然后将这些名称合并到 sql 查询中。使用 ibm_sql,我试图将列表变量放在 sql WHERE 子句中:WHERE IN (List)
我将如何在WHERE 子句中引用列表sample?:WHERE a.name IN (sample)
#pip install ibm-db
import ibm_db_dbi as db
conn = db.connect("DATABASE=xxx;HOSTNAME=xxx;PORT=xxx;PROTOCOL=TCPIP;UID=xxx;PWD=xxx;", "", "")
with open('file.csv', newline='') as f:
reader = csv.reader(f)
next(reader, None) #skip header
data = list(reader) #list
sample = data[:20]
#sql
cursor = conn.cursor()
sql = '''
SELECT name
FROM (
SELECT DISTINCT a.name, b.number
FROM table1 as a
JOIN table2 as b ON a.sk = b.sk
WHERE a.name IN _____________ <<<
order by b.number
)
group by name
'''
#{}.format(sample)
cursor.execute(sql)
for r in cursor.fetchall():
print(r)
【问题讨论】:
标签: python sql python-3.x jupyter-notebook db2