使用python,如何使用for循环循环显示每个表中的记录,显示所有列和相应的列标题

时间:2018-04-20 08:08:56

标签: python sqlite

我有一个用于android中调用日志的sqlite数据库虚拟数据,使用从sqlite master中选择不同表的查询,如何使用python for循环显示每个表中显示所有列和各自的列的记录列标题。这是python代码中的部分:

for table in tables:
    cursor.execute("SELECT * FROM %s" % table[0])
    rows = cursor.fetchall()

    for row in rows:
        print row # prints records in the all the tables without column headers

1 个答案:

答案 0 :(得分:0)

默认情况下,sqlite不支持information_schema。你需要单独收集tableschema 我们可以使用pragma,

cursor.execute('PRAGMA TABLE_INFO(tablename)

或者我们可以使用cursor.description,

column[0] for column in c.description

它会将列名存储为列表 你可以修改你的代码,就像这样。

for table in tables:
column = []
cursor.execute("SELECT * FROM %s" % table[0])
rows = cursor.fetchall()
column = column[0] for column in cursor.description
i=0
for row in rows:
    if i == 0:
        print(column)
    else:
        print row # prints records in the all the tables without column headers
    i = i+1