HTML вывод с использованием Python 3 / sqlite3 - PullRequest
2 голосов
/ 23 мая 2011

Новичок в Python и SQLLite: @ http://www.sqlite.org/sqlite.html - «Оболочка командной строки для SQLite» Я нашел это:

Изменение форматов вывода: Программа sqlite3 может отображать результаты запроса в восьми различных форматах: «csv», «column», «html», «insert», «line», «list», «tabs» и «tcl». Вы можете использовать точечную команду ".mode" для переключения между этими выходными форматами.

Вопрос: Как сделать это с помощью прилагаемого пакета SQLite, который поставляется с Python 3 - я могу открыть соединение, получить курсор, выполнить SQL и т. Д., Но не могу понять, как использовать .mode html команда - или любая из точечных команд.

Вот пример программы - но я хочу вывести результаты 'print (l)' в последнюю строку в формате html, используя 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();

Любая помощь будет оценена.

1020 * ТИА *

1 Ответ

1 голос
/ 23 мая 2011

Режим HTML sqlite является частью оболочки, которая не включена в 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 для более подробной информации

EDIT

Если вы используете 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")
>>> 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...