1. ホーム
  2. python

[解決済み] sqliteでカラム名のリストを取得する方法はありますか?

2023-06-25 01:22:47

質問

データベース内のテーブルからカラム名のリストを取得したい。pragmaを使用すると、多くの不要な情報を含むタプルのリストが得られます。カラム名だけを取得する方法はありますか?だから、私はこのようなものに終わるかもしれません。

[列1,列2,列3,列4]のようになります。

このリストが絶対に必要な理由は、インデックスが私のコードの多くで使用されるため、リストでカラム名を検索し、インデックスを取得したいからです。

このようなリストを取得する方法はあるのでしょうか?

ありがとうございます。

どのように解決するのですか?

sqlite3 と pep-249

import sqlite3
connection = sqlite3.connect('~/foo.sqlite')
cursor = connection.execute('select * from bar')

cursor.description。 はカラムの説明

names = list(map(lambda x: x[0], cursor.description))

あるいは、リスト内包を使うこともできます。

names = [description[0] for description in cursor.description]