【发布时间】:2016-05-05 22:48:32
【问题描述】:
我编写了一个 Python 脚本来向我的表中添加行。我决定如果我也可以使用相同的脚本查看我的表,而不必退出脚本并运行 sqlite3 或切换到另一个 shell 并运行 sqlite3,那就太好了。所以我写了我期望的东西,它会给我我想要的东西,它确实......这是有问题的脚本的一部分:
import sqlite3
conn = sqlite3.connect('stu.db')
c = conn.cursor()
var = 1
while var == 1:
enquiry = raw_input("What would you like to do?> ")
enquiry == 'stu db' or enquiry == 'sd':
c.execute("SELECT * FROM stu")
conn.commit
在 sqlite3 中,当您运行 SELECT * FROM stu 时,您会得到一个格式精美的表格,其中包含统一的行和列。当我在这里运行它时,我会得到一长串括号中的信息。它看起来有点像这样(我没有打印实际结果,因为这会违反某些联邦法律):
[(1234567890, u'John Doe', 3852, u'DEGR-AA', 4, None), (1234567890, u'John Doe', 3852, u'DEGR-AA', 4, None),(1234567890, u'John Doe', 3852, u'DEGR-AA', 4, None),(1234567890, u'John Doe', 3852, u'DEGR-AA', 4, None),(1234567890, u'John Doe', 3852, u'DEGR-AA', 4, None),(1234567890, u'John Doe', 3852, u'DEGR-AA', 4, None),(1234567890, u'John Doe', 3852, u'DEGR-AA', 4, None),(1234567890, u'John Doe', 3852, u'DEGR-AA', 4, None),(1234567890, u'John Doe', 3852, u'DEGR-AA', 4, None),(1234567890, u'John Doe', 3852, u'DEGR-AA', 4, None)]
我想我知道发生了什么。 Python 只是吐出对 sqlite 的查询返回的内容,但是有没有办法对这些信息进行格式化以便于阅读?
【问题讨论】:
-
查看格式化打印; 非常基本的Python。
-
stackoverflow.com/questions/36794110/… 建议使用
row_factory作为列名,这也可能会有所帮助。