我正在尝试简化对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追加到这些列表。创建一个要附加的order dict,然后以某种方式在末尾将其放入列表中会更好吗?在返回值以供以后使用时,我想让它们成为全局的?有什么建议吗?谢谢
目前没有回答
相关问题 更多 >
编程相关推荐