【发布时间】:2018-02-07 00:18:37
【问题描述】:
当对我的 SQLite3 数据库进行“SELECT”查询时,我发现做一些简单的事情,比如进入数据库并获取一个值并让它看起来与我的程序中的一样分贝。我不够熟悉,不知道这是否就是这样,或者是否有更好的方法我应该做这些事情。
第一个元素是关于这样的事实:
player_name = c.execute("""SELECT name FROM players WHERE pid = ?""", (pid,))
print(player_name)
会产生这样的结果:
<sqlite3.Cursor object at 0x10c185110>
我发现提取实际内容的唯一方法是遍历结果光标并将内容存储在列表中:
player_name = []
sql = c.execute("""SELECT name FROM players WHERE pid = ?""", (pid,))
for result in sql:
player_name.append(result)
player_name = str(player_name).replace("[", "").replace("]", "")
另一个元素的问题较少,但我想我会把它扔在那里。事实上,我上面示例中的每个结果都是这样的:
>>> print(player_name)
('Ben Johnson',)
最后,为了从数据库中获取确切的字符串并进入我的程序,我对每个查询都这样做:
>>> player_name = []
>>> sql = c.execute("""SELECT name FROM players WHERE pid = ?""", (pid,))
>>> for result in sql:
>>> player_name.append(result)
>>> player_name = str(player_name).replace("[", "").replace("]", "")
>>> player_name = str(player_name).replace("('", "").replace("',)", "")
>>>
>>> print(player_name)
Ben Johnson
【问题讨论】:
标签: python-3.x select sqlite