如何使用sqlpython筛选变量列表中的数据



我正在尝试使用变量列表筛选数据ABC

这个变量列表大约有25000个iten。

我的第一种方法是使用for循环,所以我过滤了列表中的每个元素,但速度太慢了!

script="""SELECT CODUSU, DOS, TIP, DTD FROM Dose WHERE (CODUSU IN ('"""+abc[i]+"""')) AND (DTD LIKE '%"""+str(anofinal)+"""')   ;"""

现在我认为最好使用这样的东西:

script="""SELECT CODUSU, DOS, TIP, DTD FROM Dose WHERE (CODUSU IN ('06LA006','06LA005')) AND (DTD LIKE '%"""+str(anofinal)+"""')    ;"""

但我不知道如何在脚本中传递列表参数。

到目前为止我一直在尝试:

conn = pyodbc.connect(r'Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=C:UsersTecnicoDesktopBackupbe.mdb;')
cursor = conn.cursor()
abc=['06LA006','06LA005','13JA001']
script="""SELECT CODUSU, DOS, TIP, DTD FROM Dose WHERE (CODUSU IN ("""%abc""")) AND (DTD LIKE '%"""+str(anofinal)+"""') ;"""
df1 = pd.read_sql_query(script, conn)
banco=banco.append(df1)
print(df1)


banco.to_csv('20'+str(anofinal)+'_d.csv',sep=";", index = False)

有什么建议吗?

abc=['dw','wda','wiug87']
for ele in abc:
script="""SELECT CODUSU, DOS, TIP, DTD FROM Dose WHERE (CODUSU LIKE ele) AND 
(DTD LIKE '%"""+str(anofinal)+"""') ;"""

伙计我不知道它是否有效,但我试过

最新更新