SQLite クエリから辞書を取得する方法
SQLite クエリを実行するとき、代わりに辞書形式でデータを取得する必要がある状況が発生することがあります。リストの。この記事では、これを実現するためのいくつかの解決策を説明します。
row_factory の使用
SQLite 接続の row_factory パラメーターを使用すると、行の返し方法を指定できます。これをカスタム関数に設定することで、タプルを辞書に変換できます。
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"]) # Output: 1
sqlite3.Row を使用する
または、row_factory を sqlite3.Row に設定することもできます。 、インデックスとインデックスの両方によって列にアクセスするための最適化された方法を提供します。 name:
con = sqlite3.connect(...) con.row_factory = sqlite3.Row # Set row_factory to sqlite3.Row cursor = con.cursor() row = cursor.fetchone() print(row["col1"]) # Access columns by name
カスタム実装
上記のいずれのソリューションもニーズを満たさない場合は、独自のカスタム実装を作成できます。ただし、提供されているソリューションと比較するとパフォーマンス上の問題が発生する可能性があるため、このアプローチは通常推奨されません。
以上がSQLite クエリから辞書データを取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。