Python: SQLIte3のSELECT文をHTMLテーブル形式で出力
Pythonとsqlite3を使用して、指定されたテーブルからデータを取得し、 HTMLテーブル形式で出力するサンプルコードを以下に示します。
テーブル名: test
カラム: id, name, age
サンプルコード
import sqlite3 # HTMLテーブルの開始と終了タグ HTML_TABLE_START = "<table border='1'>" HTML_TABLE_END = "</table>" # データベース接続とクエリ実行 with sqlite3.connect('database.db') as conn: cursor = conn.cursor() cursor.execute("SELECT * FROM test") rows = cursor.fetchall() # HTMLテーブルの生成 html_output = [HTML_TABLE_START] html_output.append("<tr><th>行</th><th>ID</th><th>名前</th><th>年齢</th></tr>") for index, row in enumerate(rows, start=1): html_output.append(f"<tr><td>{index}</td><td>{row}</td><td>{row}</td><td>{row}</td></tr>") html_output.append(HTML_TABLE_END) # 結果の出力 print("\n".join(html_output))
コードの説明
このコードは以下の手順で動作します:
- sqlite3モジュールをインポートします。
- with文を使用してデータベースに接続します。これにより、接続の自動クローズが保証されます。
- SELECT文を実行して、testテーブルからすべてのデータを取得します。
- HTMLテーブルの開始タグと列ヘッダーを追加します。
- fetchall()で取得したすべての行に対してループを実行し、各行のデータをHTMLテーブルの行として追加します。
- enumerate()関数を使用して、各行に行番号を付加します。
- HTMLテーブルの終了タグを追加します。
- 生成されたHTMLを出力します。
このコードを実行すると、testテーブルのデータがHTML形式のテーブルとして出力されます。各行には行番号が付加され、id、name、ageの各カラムのデータが表示されます。
注意: このコードを実行する前に、'database.db'ファイルが存在し、testテーブルが正しく作成されていることを確認してください。また、実際の使用時にはHTML出力をファイルに保存したり、Webフレームワークと統合したりすることで、より実用的なアプリケーションを作成できます。