title: pandas sqlite read_sql dynamic in clause
body: <p>I am trying to use pandas read_sql function to query some data from sqlite DB. I need to use parameterized SQL which contains in clause (List) and some static parameters.</p>
  <p>Below is my query</p>
  <pre><code>battingDataQuery = ('SELECT ID, MATCH_DATE, ROLE, DOWN_NUM, NAME, RUNS,' 
                      'MATCH_ID, TEAM_NAME, VERSUS_TEAM_NAME, GROUND_NAME ' 
                 'FROM BATTING_DATA WHERE ID in ({1}) '
                  'AND DOWN_NUM &lt; {0} AND MATCH_TYPE = {0}')
  </code></pre>
  <p>I have added the placeholders appropriately using format</p>
  <pre><code>battingDataQuery = battingDataQuery.format('?', ','.join('?' * len(playerIdList)))
  </code></pre>
  <p>My generated SQL is as following</p>
  <pre><code>'SELECT ID FROM BATTING_DATA WHERE ID in (?,?,?,?,?) AND DOWN_NUM &lt; ? AND MATCH_TYPE = ?'
  </code></pre>
  <p>I am stuck at the last part where I am sending the parameters as following:</p>
  <pre><code>battingDataDF = pd.read_sql_query(battingDataQuery , conn, params=(playerIdList,battingDownNum,'\'T20\''))
  </code></pre>
  <p>I am getting following error when using this</p>
  <blockquote>
  <p>Incorrect number of bindings supplied. The current statement uses 7,
  and there are 3 supplied.</p>
  </blockquote>
  <p>I have tried using following variations but still get the same error</p>
  <pre><code>battingDataDF = pd.read_sql_query(battingDataQuery , conn, params=[playerIdList,battingDownNum,'\'T20\'']) # same error
  
  battingDataDF = pd.read_sql_query(battingDataQuery , conn, params=[playerIdList,battingDownNum,'\'T20\'']) # same error
  
  battingDataDF = pd.read_sql_query(battingDataQuery , conn, params=[tuple(playerIdList),battingDownNum,'\'T20\'']) # same error
  </code></pre>