我在运行fetchall()时遇到一些问题。在
我有一个定义如下的表:
with bookDB:
bookCur = bookDB.cursor()
bookCur.execute("CREATE TABLE Books(bookID INTEGER PRIMARY KEY, Title TEXT, Author TEXT, Genre TEXT)")
bookCur.close()
现在,如果我想按类型在数据库中搜索图书,我有以下代码:
^{pr2}$我想将图书列表中的所有项目连接起来,生成一个分配给book的字符串,但是当我这样做时,所有的文本字段都是unicode格式(u'TEXTHERE'),前面和结尾的括号也会保留。我知道我可以多次使用分体式或delmitters,但肯定有什么地方我做错了。我怎样才能阻止这种情况的发生?有什么提示吗?在
以下是我从fetchall得到的信息:
[(133, u'Jurassic Park', u'Crichton', u'Sci-Fi')]
我想要一根这样的绳子
133>>Jurassic Park>>Crichton>>Sci-Fi
通过插座发回。在
提前非常感谢您的帮助。在
booklist
是表示数据库中查询列的tuple
的列表。通过执行book = ''.join(str(i) for i in booklist)
操作,您只需将tuples
的字符串表示形式连接到booklist
中。在试试这样的方法:
这将返回如下内容:
^{pr2}$其中
>>
是列分隔符,|
是行分隔符。如果需要分隔符的其他表示形式,只需更改字符串文字。在在该代码中,内部} 是将元组转换为
join
将连接tuples
(列),外部将连接rows
。^{string
对象列表的一个技巧,它对元组中的每个元素应用str
方法。之所以需要这样做,是因为只要对包含非字符串元素的iterable执行join
操作,就会返回一个TypeError
异常。在希望这有帮助!在
相关问题 更多 >
编程相关推荐