我有一个用于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
答案 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