查询结果中的Python sqlite3额外字符

时间:2015-05-08 06:17:20

标签: python sqlite

所以我试图在python中使用sqlite运行一个简单的查询来试一试。我得到了查询的结果,但是我在每个文本字段的开头都得到了一个额外的“u”,我不知道为什么。这是代码:

import sqlite3

db = sqlite3.connect(':memory:')
c = db.cursor()

c.execute("create table Students (ID INTEGER Primary key AUTOINCREMENT, FN text, LN text);")

c.execute("INSERT into Students (FN,LN) Values ('FirstName','LastName');")

c.execute("Select * from Students")

for i in c:
    print(i)

这是我得到的结果:

(1, u'FirstName', u'LastName')

Process finished with exit code 0

任何线索为什么会发生这种情况? 谢谢

1 个答案:

答案 0 :(得分:0)

在Python源代码中,Unicode文字被编写为前缀为uU字符的字符串。

如果您不希望您的单词变为unicode,则可以使用unicode-escape进行编码:

>>> s.encode('unicode-escape')
'FirstName'