问题描述
||
Python和sqlLite的新手:@ http://www.sqlite.org/sqlite.html-“用于sqlite的命令行外壳”我发现了这一点:
更改输出格式:
sqlite3程序能够以八种不同的格式显示查询结果:\“ csv \”,\“ column \”,\“ html \”,\“ insert \”,\“ line \”,\“ list \“,\” tabs \“和\” tcl \“。您可以使用\“。mode \”点命令在这些输出格式之间切换。
问题:如何使用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
解决方法
sqlite的html模式是per1ѭ中未包含的包装器的一部分,但是您可以使用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
有关更多详细信息,请参见ASPW示例
编辑
如果您使用的是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\")
>>>