我使用Python2.7和sqlite3作为DB,我试图从这个表调用:
使用此代码:
conn = sqlite3.connect('storage/container.db')
conn.row_factory = lambda c, row: row[0]
c = conn.cursor()
c.execute("SELECT * FROM reports")
for row in c.fetchall():
print row
结果是:
0
1204
这只是id
列,尽管我使用了fetchall()
和SELECT *
去除conn.row_factory = lambda c, row: row[0]
后的结果是:
(0, u'\u062f\u062e\u0648\u0644', u'\u0643\u0631\u0633\u0649', 8, u'\u0623\u062d\u0645\u062f \u0648\u062c\u062f\u0649', u'2018-03-28')
(1204, u'\u062e\u0631\u0648\u062c', u'\u0643\u0631\u0633\u0649', 3, u'\u0623\u062d\u0645\u062f \u0648\u062c\u062f\u0649', u'2018-03-28')
然后尝试将utf编码添加到连接中,但结果仍然相同,我使用了c.execute('PRAGMA encoding="UTF-8";')
找到答案,由于元组项不能接受编码,我对整个文档应用了utf-8编码
# -*- coding: utf-8 -*-
,并从列表中逐个提取名称作为str,结果现在是固定的:以下是更新的代码:
在上述问题上。你知道吗
你知道吗conn.row\ U工厂=λc,行:行[0]
您正在显式调用第一行[0],您只得到一列。 根据列数,按行[0]、行[1]、行[2]进行尝试。你知道吗
相关问题 更多 >
编程相关推荐