我有一个如下所示的表(摘要,第一行是列名):
'hand_total', '2', '3', '4', '5', '6', '7', '8', '9', '10', 'A'
('5', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H')
('6', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H')
('7', 'H', 'D', 'D', 'D', 'D', 'H', 'H', 'H', 'H', 'H')
('8', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'H', 'H')
('9', 'H', 'D', 'D', 'D', 'D', 'H', 'H', 'H', 'H', 'H')
('10', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'H', 'H')
('11', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'H')
('12', 'H', 'H', 'S', 'S', 'S', 'H', 'H', 'H', 'H', 'H')
('13', 'S', 'S', 'S', 'S', 'S', 'H', 'H', 'H', 'H', 'H')
我希望能够使用一个python变量,根据表头名称和'hand_total'列中的值从该表中选取一个值。例如,如果我想要一个'3'
列和hand_total=='11'
所在行相交处的值,我希望返回值为'D'
,但无论我怎么尝试,似乎都无法让sqlite3查询返回我所期望的值。
我尝试过
cur == conn.cursor()
cur.execute("SELECT 3 FROM test_table")
results = cur.fetchall()
我希望上面的代码返回标题为“3”的列中的所有列值,但是我得到的结果只是显示
[(3,), (3,), (3,), (3,) ....]
直到db的所有长度
1条答案
按热度按时间b5buobof1#
如果列名不是标识符,请使用双引号(ANSI SQL)、反引号(如MySQL)或方括号(如SQL-Server)对其进行转义。