首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python:将sqlite3中的文本提取为字符串

Python:将sqlite3中的文本提取为字符串
EN

Stack Overflow用户
提问于 2016-12-16 15:37:32
回答 1查看 5.5K关注 0票数 0

第一周使用任何语言进行编程,需要一些帮助:我试图从sqlite3中提取一个文本值作为字符串。I‘我得到的值是一个列表而不是str:

代码语言:javascript
复制
system_id = raw_input ("What is your System ID: ")

例如,用户输入“Elmer”

代码语言:javascript
复制
conn = sqlite3.connect("API.db")
c = conn.cursor()
c.execute('''CREATE TABLE IF NOT EXISTS SYSTEMID (systemid TEXT)''')
conn.commit()
conn.close()

conn = sqlite3.connect("API.db")
c = conn.cursor()
system_id = c.execute('select systemid from SYSTEMID').fetchall()
conn.close()

那么,如何将变量system_id作为字符串呢?如果我从这里打印出(u,Elmer),我想要system_id = Elmer

EN

回答 1

Stack Overflow用户

发布于 2016-12-16 15:51:16

正如Ev. Kounis所指出的,默认情况下,fetchall()将返回长度等于指定变量的tuples的list

在您的例子中,您得到了长度为1的元组,因为您要求一个变量。

在获取字符串时,默认情况下,字符串前面的u也会返回'Elmer' (这仅仅意味着它是一个Unicode字符串)。

你应该做两件事:

  1. 通过更改与u的连接的text_factor来摆脱str,如下所示: con.text_factory = str
  2. 访问元组的第一个元素,只获得字符串'Elmer'fetch = c.execute('select systemid from SYSTEMID').fetchall() system_id = fetch[0][0] # First element in first tuple in list
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41187746

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档