我在 pandas 数据框中有数据,我使用 Python 将其存储在 SQLITE 数据库中。当我尝试查询其中的表时,我能够获得结果但没有列名。有人可以指导我吗。
sql_query = """Select date(report_date), insertion_order_id, sum(impressions), sum(clicks), (sum(clicks)+0.0)/sum(impressions)*100 as CTR
from RawDailySummaries
Group By report_date, insertion_order_id
Having report_date like '2014-08-12%' """
cursor.execute(sql_query)
query1 = cursor.fetchall()
for i in query1:
print i
下面是我得到的输出
(u'2014-08-12', 10187, 2024, 8, 0.3952569169960474)
(u'2014-08-12', 12419, 15054, 176, 1.1691244851866613)
我需要做什么才能以带有列名的表格形式显示结果
请您参考如下方法:
在符合 DB-API 2.0 的客户端中,cursor.description是 (<name>, <type_code>, <display_size>, <internal_size>, <precision>, <scale>, <null_ok>) 形式的 7 项序列的序列,每列一个,如所述here .备注description将是 None如果执行语句的结果为空。
如果你想创建一个列名列表,你可以像这样使用列表理解:column_names = [i[0] for i in cursor.description]然后随心所欲地处理它们。
或者,您可以设置 row_factory连接对象的参数为提供列名和结果的东西。找到了 SQLite 基于字典的行工厂的示例 here , 你可以看到关于 sqlite3.Row 的讨论在下面输入。
