sqlite3从打印数据中删除括号

时间:2014-04-13 07:53:08

标签: python database sqlite raspberry-pi

我创建了一个脚本,用于查找数据库第一行中的最后一个值

import sqlite3
global SerialNum
conn = sqlite3.connect("MyFirstDB.db")
conn.text_factory = str
c = conn.cursor()
SerialNum = c.execute('select Serial from BI4000 where Serial in (Select max(Serial) from BI4000)')
print SerialNum
conn.commtt()
conn.close()

程序打印结果

[('00003',)]

这是当前数据库中的最后一个结果,所有将输入到最终数据库的数据都将是序列号,因此它将按顺序排列。

我的问题是我可以删除所有引号/括号/逗号,因为我希望将此值设置为变量。

我希望制作的程序是一个向数据库添加新条目的测试系统,我希望检查数据库中的最后一个条目,以便系统可以从那一点继续输入。

2 个答案:

答案 0 :(得分:7)

您执行的查询结果表示为Python元组的Python列表。

列表中包含的元组表示查询返回的行。

元组中包含的每个值表示该特定行的相应字段,按您选择的顺序排列(在您的情况下,您只选择了一个字段,因此每个元组只有一个值)。

长话短说your_variable = SerialNum[0][0]

答案 1 :(得分:3)

如果您只想从一行中检索一列,请使用:

c.execute('select Serial from BI4000 where Serial in (Select max(Serial) from BI4000)')
result = c.fetchone()
if result:  # first row returned?
    print result[0]  # first column

您的查询可以简化为:

c.execute('Select max(Serial) from BI4000')