我将数据存储在使用Python存储在SQLITE数据库中的pandas数据框中。当我尝试查询其中的表时,我可以获得结果,但没有列名。有人可以指导我吗?
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
是形式的7项序列的序列(
,每列一个,如所描述这里。注description
会None
,如果执行语句的结果是空的。
如果要创建列名的列表,则可以像这样使用列表理解:column_names = [i[0] for i in cursor.description]
然后根据需要对其进行处理。
或者,您可以将row_factory
连接对象的参数设置为可提供列名称和结果的参数。此处提供了一个基于字典的SQLite行工厂示例,您可以在sqlite3.Row
下面看到有关类型的讨论。