【发布时间】:2014-04-23 11:56:26
【问题描述】:
我在运行 fetchall() 时遇到了一些问题。
我有一个这样定义的表:
with bookDB:
bookCur = bookDB.cursor()
bookCur.execute("CREATE TABLE Books(bookID INTEGER PRIMARY KEY, Title TEXT, Author TEXT, Genre TEXT)")
bookCur.close()
现在,如果我想按类型在数据库中搜索书籍,我有以下代码:
with bookDB:
bookCur = bookDB.cursor()
bookCur.execute("SELECT * FROM Books WHERE Genre=?",(query,))
booklist=bookCur.fetchall()
book = ''.join(str(i) for i in booklist)
bookCur.close()
return book;
我想加入书单中的所有项目以创建一个分配给书的字符串,但是当我这样做时,所有 TEXT 字段都采用 unicode 格式(u'TEXTHERE')以及前后括号也住。我知道我可以多次使用拆分或分隔符,但一定有我做错了。我该如何阻止这种情况发生?有什么建议吗?
这是我从 fetchall 得到的结果:
[(133, u'Jurassic Park', u'Crichton', u'Sci-Fi')]
我想要这样的字符串
133>>Jurassic Park>>Crichton>>Sci-Fi
通过套接字发回。
非常感谢您的任何帮助。
【问题讨论】:
-
列表中有几本书,是要将它们全部连接起来还是返回一个已经格式化的列表?
标签: python sqlite python-2.7 unicode