Python和SQLLite的新手:@ http://www.sqlite.org/sqlite.html - “SQLite命令行外壳”我发现了这个:
更改输出格式: sqlite3程序能够以八种不同的格式显示查询结果:“csv”,“column”,“html”,“insert”,“line”,“list”,“tabs”和“tcl”。您可以使用“.mode”dot命令在这些输出格式之间切换。
问题:如何使用Python 3附带的捆绑SQLite包执行此操作 - 我可以打开连接,获取游标,执行SQL等但我无法弄清楚如何使用 .mode html 命令 - 或任何点命令。
这是一个示例程序 - 但我想使用sqlite .mode html在html格式的最后一行输出结果'print(l)'
import sqlite3
def main():
conn = sqlite3.connect('c:\dbTest.dat')
curs=conn.cursor()
fs='insert into test(token) values ("%s")'
i=0
x=input("Enter a number please: ")
x.lstrip()
x=int(x)
while i<x:
s=fs % ("ABCD"+str(i/0.999))
curs.execute(s)
i=i+1
conn.commit()
rows=curs.execute('select token from test')
l=rows.fetchall()
print(l)
main();
任何帮助都将不胜感激。
TIA
答案 0 :(得分:1)
sqlite的html模式是python
中未包含的包装器的一部分,但您可以使用aspw模块来访问它...
import apsw
import StringIO as io
output=io.StringIO()
conn = apsw.Connection('dbTest.dat')
shell=apsw.Shell(stdout=output, db=conn)
# How to execute a dot command
shell.process_command(".mode html")
# continue
有关详细信息,请参阅the ASPW example
修改
如果您使用的是python3 ...
Python 3.2 (r32:88445, Feb 20 2011, 21:29:02) [MSC v.1500 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> import io
>>> import apsw
>>> output = io.StringIO()
>>> conn = apsw.Connection(":memory:")
>>> shell = apsw.Shell(stdout=output, db=conn)
>>> shell.process_command(".mode html")
>>>