拆分元组以在sql查询中使用值作为过滤器

时间:2014-12-22 22:08:28

标签: python python-2.7

我有一个很大的ID列表,并希望将其用作SQL查询中的过滤器,以Select * from Table where ID in MyList.格式查询数据库。不幸的是,我的列表大约有800个条目,因为它也被拒绝了长。我需要一种简单的方法,使用较小的列表将其拆分为多个查询。

对于我的代码,我列出了几个条目,它们代表了ID。我已成功拆分它,但它遇到了一些问题。我该如何解决这些问题?

  1. 这似乎非常低效且非pythonic
  2. 如果要求我提前弄清楚需要分析多少个不同的元组。如果有10,000个条目,我不能把它分成两半,因为每个部分仍然会有太多错误。
  3. 我的代码:

    mylist = (12,32,3,45,34,56,45)
    
    mylist1 = []
    mylist2 = []
    for i in range(0, len(mylist)/2):
        mylist1.append(mylist[i])
    for i in range(len(mylist)/2+1, len(mylist)):
        mylist2.append(mylist[i])
    
    
    print mylist1
    print mylist2
    

1 个答案:

答案 0 :(得分:1)

使用while循环可以使用您满意的大小列表,例如

data = range(10)

chunk_size = 10

while data:
    sublist, data = data[:chunk_size], data[chunk_size:]

    # Handle subplit
    print sublist