【发布时间】:2022-01-26 12:12:45
【问题描述】:
我在 python 中有列表,我已将此列表转换为 oracle sql 列表以进行 sql 查询,但出现错误 列表中的最大表达式数为 1000 我想将其转换列出元组,以便我可以解决此错误。 此列表不时随随机数变化。
我的代码
# convert column to list
samples_numbers = samples.loc[:, "cut_num"].values.tolist()
# convert python list to sql list
sqllist = str(samples_numbers)
sqllist = sqllist.replace("[", "(").replace("]", ")")
# statment to make query read from list
statment = "select from sample_table where data in" + sqllist
result = pd.read_sql_query(statement, engine)
我想要我的代码而不是 从样本表中选择(500,507,5007,5008,....,100000)中的数据 要从样本表中选择((500,0),(507,0),(5007,0),(5008,0),....,(100000,0)) 中的数据 避免列表中的最大表达式数为 1000
错误信息 sqlalchemy.exc.DatabaseError: (cx_Oracle.DatabaseError) ORA-01795: 列表中的最大表达式数为 1000
【问题讨论】:
-
我认为这行不通;我应该认为您需要将列表分成块并运行多个查询。
-
所以如果你有合适的解决方案,请在这里提交
标签: python mysql sql pandas sqlalchemy