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

コードの説明

このコードは以下の手順で動作します:

  1. sqlite3モジュールをインポートします。
  2. with文を使用してデータベースに接続します。これにより、接続の自動クローズが保証されます。
  3. SELECT文を実行して、testテーブルからすべてのデータを取得します。
  4. HTMLテーブルの開始タグと列ヘッダーを追加します。
  5. fetchall()で取得したすべての行に対してループを実行し、各行のデータをHTMLテーブルの行として追加します。
  6. enumerate()関数を使用して、各行に行番号を付加します。
  7. HTMLテーブルの終了タグを追加します。
  8. 生成されたHTMLを出力します。

このコードを実行すると、testテーブルのデータがHTML形式のテーブルとして出力されます。各行には行番号が付加され、id、name、ageの各カラムのデータが表示されます。

注意: このコードを実行する前に、'database.db'ファイルが存在し、testテーブルが正しく作成されていることを確認してください。また、実際の使用時にはHTML出力をファイルに保存したり、Webフレームワークと統合したりすることで、より実用的なアプリケーションを作成できます。

Python