使用 Python 3/sqlite3 的 HTML 输出

发布于 2024-11-08 17:39:39 字数 969 浏览 0 评论 0原文

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

Newbie to Python and SQLLite: @ http://www.sqlite.org/sqlite.html - "Command Line Shell For SQLite" I found this:

Changing Output Formats:
The sqlite3 program is able to show the results of a query in eight different formats: "csv", "column", "html", "insert", "line", "list", "tabs", and "tcl". You can use the ".mode" dot command to switch between these output formats.

Question: How to do this with the bundled SQLite package that comes with Python 3 - I can open a connection, get a cursor, execute SQL etc but I can't figure out how to use the .mode html command - or any of the dot commands.

Here's an example program - but I want to output the results 'print(l)' on last line in html format using sqlite .mode html

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();

Any help would be appreciated.

TIA

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

寂寞陪衬 2024-11-15 17:39:39

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

请参阅 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")
>>> 

sqlite's html mode is part of a wrapper that is not included in python, but you can use the aspw module to access it...

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

See the ASPW example for more details

EDIT

If you are using 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")
>>> 
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文