向SQLITE3 SELECT列添加参数查询python

时间:2015-09-25 09:36:55

标签: python select parameters sqlite

我正在尝试将查询流式传输到SQLITE3。我用它来进行金融价格建模,所以我重新使用相同的基本查询,但必须不断更改硬编码,以便每次都能获得不同的列查询。所以我想要一个通用查询,我只需要写一次我想要的东西,然后它将列作为列表吐出。这是我想要的基本版本,但基本上仍然是硬编码的,所以你可以看到我想要创建的内容。

dbName = 'NASDAQ_Equities'
ticker = 'AAPL'

def pullDataTest(dbPathName, ticker, *args):
   datep = []
   openp = []
   highp = []

   db = sqlite3.connect(dbPathName + '.mydb', detect_types=sqlite3.PARSE_DECLTYPES | sqlite3.PARSE_COLNAMES, timeout=3)
cursor = db.cursor()

   cursor.execute('''SELECT   ''' + str(args) + '''  FROM ''' + ticker)
   for row in cursor:
       datep.append(row[0])
       openp.append(row[1])
       highp.append(row[2])

  pullData(dbName, ticker, 'datep', 'openp', 'highp')

目前我迷失了如何在select语句中输入* args因为()括号拒绝它。另外一个问题是创建空列表并从* args附加到这些列表。是否更好的创建一个附加的订单字典,然后以某种方式将其制成列表?在返回值以供稍后使用时,我正在考虑将它们作为全局变量?有什么建议?感谢

0 个答案:

没有答案