将sqlite PRAGMA信息的输出解析成一个python列表

Parsing the output of sqlite PRAGMA information into a python list

我正在尝试使用 SQLite 命令收集有关列名的信息:

columnsQuery = ("PRAGMA table_info(%s)" % (table))
columnNames = cursor.execute(columnsQuery)

根据我所做的研究,执行此命令应该会为我提供给定 table 中的列名称。因为我没有现成的 sqlite 数据库,所以我不知道 PRAGMA 的输出是什么样的。有没有一种方法可以将变量 "columnNames" 解析为 Python 列名列表?

pragma 的输出有列和行,就像查询一样:

$ sqlite3
SQLite version 3.18.0 2017-02-11 14:59:58
Enter ".help" for usage hints.
Connected to a transient in-memory database.
Use ".open FILENAME" to reopen on a persistent database.
sqlite> create table t(id integer primary key, name text not null, date default current_date);
sqlite> .mode columns
sqlite> .header on 
sqlite> pragma table_info(t);            
cid         name        type        notnull     dflt_value  pk        
----------  ----------  ----------  ----------  ----------  ----------
0           id          integer     0                       1         
1           name        text        1                       0         
2           date                    0           current_da  0         

查询结果为4个值的元组列表如下: [(0, 'id', 'INTEGER', 1, None, 1), ... ,]

以下代码可以打印所有列名:

columnsQuery = cursor.execute(f"pragma table_info('{table[0]}')")
columnInfos = cursor.fetchall()
columnNames = [item[1] for item in columnInfos]