PythonでSQLiteのデータベースから情報を抽出する方法

Table of Contents

SQLiteのデータベースのファイル名をmpos_S.sqliteとし,含まれるテーブル(エクセルのシートを思いうかべればよいでしょう)をmpos_Sとし,mpos_Sにはカラム(列)データが含まれているとします.例えば,水温データのカラム名をtpとしますと,このカラムtpには水温データが含まれています.Pythonからハンドリングするため,sqlite3をインポートしておく必要があります.
最初にデータベースに接続し,カーソルcurを取得します.
[cc]
>>> import sqlite3
>>> conn = sqlite3.connect('mpos_S.sqlite')
>>> cur = conn.cursor()
[/cc]
カラム情報を調べます.
[cc]
>>> cur.execute("PRAGMA TABLE_INFO(mpos_S)") ### テーブルmpos_Sのカラム情報を取得
>>> cols = cur.fetchall() ### 1つのカラム情報は6要素を含むタプルで,複数のカラム情報のリストが得られる
>>> print(cols)
[/cc]
カラム名だけを抽出するには2番目の要素だけをリスト内包表記で抽出します.
[cc]
>>> print([item[1] for item in cols])
[/cc]
カラム名がtpの値だけを抽出します.複数のカラムを抽出するには,カンマで区切って並べます.
[cc]
>>> cur.execute("SELECT tp FROM mpos_S") ### tpはカラム名,mpos_Sはテーブル名
>>> val = cur.fetchall() ### 値を含むタプルのリストとして抽出される
>>> print(val)
[/cc]
全カラムのデータを抽出します.
[cc]
>>> cur.execute("SELECT * FROM mpos_S") ### *は全カラムを意味.mpos_Sはテーブル名
>>> val = cur.fetchall() ### レコード毎の全カラムの値を含むタプルのリストとして抽出される
>>> print(val)
[/cc]
処理が終わったらデータベースを閉じます(必須).
[cc]
>>> cur.close()
>>> conn.close()
[/cc]

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください