我使用一个基本的python代码来查询MySQL数据库。守则如下:
def get_data(self):
sql = (
'SELECT data_date, website_name, device, publisher,sum(bid) AS revenue, sum(impressions) AS impressions '
'FROM header_bidder_data hb '
'INNER JOIN websites ON websites.website_id = hb.site_id '
'WHERE data_date= "2017-06-13" '
'GROUP BY data_date, website_name, device, publisher '
)
try:
data = self.db.query(sql)
return data
except Exception, e:
logging.exception(e.message)
return -1, e.message问题是,所选字段的顺序与我所希望的一样,从data_data,website_name,...开始,但是,当数据存储结果时,它以一种完全随机的方式重新排列它的键,我只知道原因。因此,在运行结束时,data以以下形式存储结果:
{'publisher': u'google', 'campaign': u'249374', 'revenue': 4432, 'website_name': u'GGO', 'device': u'mobile', 'impressions': 20.0}因此,发布者不是data_date成为第一个键,而是突然成为第一个键,依此类推。知道如何在存储数据时保持相同的查询顺序,或者是什么原因造成了这个问题??thx
p.s
我正在使用“旋风”作为我的web服务器
发布于 2017-06-14 13:22:21
这种行为是正常的,实际上,在python字典中,如果您想要一个有序的迭代,您可以得到一个列表,元组,.您可以做的是将mysql连接器模块设置为不返回do,或者按它们的键名选择值:data['publisher']。
https://stackoverflow.com/questions/44545936
复制相似问题