[解決済み] sqliteクエリからdictを取得するにはどうすればよいですか?
2022-04-27 15:14:20
質問
db = sqlite.connect("test.sqlite")
res = db.execute("select * from table")
反復によって、行に対応するリストが得られます。
for row in res:
print row
カラムの名前を取得することができます
col_name_list = [tuple[0] for tuple in res.description]
しかし、リストではなく、辞書を取得するための関数や設定はあるのだろうか?
{'col1': 'value', 'col2': 'value'}
それとも自分でやらなければならないのでしょうか?
どのように解決するのですか?
を使用することができます。 ロウファクトリー ドキュメントにある例のように。
import sqlite3
def dict_factory(cursor, row):
d = {}
for idx, col in enumerate(cursor.description):
d[col[0]] = row[idx]
return d
con = sqlite3.connect(":memory:")
con.row_factory = dict_factory
cur = con.cursor()
cur.execute("select 1 as a")
print cur.fetchone()["a"]
または、この例のすぐ後に記載されているdocsのアドバイスに従ってください。
タプルを返すだけでは十分でない場合 への名前ベースのアクセスが必要であり カラムを設定することを検討してください。 row_factory には、高度に最適化された sqlite3.Rowタイプ。Rowは、以下の両方を提供します。 インデックスベースと大文字・小文字を区別しない 名前ベースのカラムアクセスで メモリのオーバーヘッドがほとんどない。これは おそらく、あなた自身の カスタムディクショナリベースのアプローチや db_rowベースのソリューションでも。
以下は、この2つ目のソリューションのコードです。
con.row_factory = sqlite3.Row
関連
-
python call matlab メソッドの詳細
-
Pythonの学習とデータマイニングのために知っておくべきターミナルコマンドのトップ10
-
Python Pillow Image.save jpg画像圧縮問題
-
[解決済み] SQL ServerでSELECTからUPDATEする方法とは?
-
[解決済み] Pythonで現在時刻を取得する方法
-
[解決済み] Pythonで辞書に新しいキーを追加するにはどうすればよいですか?
-
[解決済み] PHPでSQLインジェクションを防ぐにはどうしたらいいですか?
-
[解決済み] Pythonの辞書からキーを削除するにはどうしたらいいですか?
-
[解決済み] ATTACHで開いたSQLiteデータベースファイルのテーブルを一覧表示するにはどうすればよいですか?
-
[解決済み】ネストされたディレクトリを安全に作成するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
opencvとpillowを用いた顔認証システム(デモあり)
-
pythonサイクルタスクスケジューリングツール スケジュール詳解
-
任意波形を生成してtxtで保存するためのPython実装
-
[解決済み】RuntimeWarning: 割り算で無効な値が発生しました。
-
[解決済み】ImportError: PILという名前のモジュールがない
-
[解決済み】 AttributeError: モジュール 'matplotlib' には属性 'plot' がない。
-
[解決済み] 'DataFrame' オブジェクトに 'sort' 属性がない
-
[解決済み】LogisticRegression: Pythonでsklearnを使用して、未知のラベルタイプ: '連続'を使用しています。
-
[解決済み】IndexError: invalid index to scalar variableを修正する方法
-
[解決済み】ValueError: xとyは同じサイズでなければならない