SQLite和Python,只从表中获取文本值

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (123)

我试图从sqlite表获得一个干净的输出值,但到目前为止还没有运气。输出值有'和()。

>>> import sqlite3

>>> db = sqlite3.connect('C:\\Users\\userRock\\Desktop\\gen_profile.sqlite')
>>> cur = db.cursor()

>>> cur.execute (''' CREATE TABLE user (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT) ''')
<sqlite3.Cursor object at 0x002E0EE0>
>>> db.commit()

>>> cur.execute (''' INSERT INTO user(name) VALUES ('John'),('James') ''')
<sqlite3.Cursor object at 0x002E0EE0>
>>> db.commit()

>>> cur.execute (''' SELECT name FROM user ORDER BY RANDOM() LIMIT 1 ''')
<sqlite3.Cursor object at 0x002E0EE0>

>>> text = cur.fetchone()
>>> print (text)
('James',)
>>>

输出是('詹姆斯),但我想得到詹姆斯,只是没有符号的名字。我怎么能这样做?

非常感谢你

提问于
用户回答回答于

使用该代码,text是元组,它可以包含多个值。你只想要一个。您可以像这样检索第一个(在这种情况下是唯一的)项目:print (text[0])。或者,您可以在获得时分配第一个值:text = cur.fetchone()[0]

扫码关注云+社区

领取腾讯云代金券