我用一段基本的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}
因此,不是将数据日期作为第一个键,而是突然将publisher作为第一个键,依此类推。 你知道如何在存储数据时保持相同的查询顺序,或者是什么导致了这个问题吗??泰铢
p.s.
我使用龙卷风作为我的网络服务器
这种行为是正常的,实际上在python中,术语被视为
an unordered set of key: value pairs
如果你想要一个有序的iterable,你可以得到一个list,tuple。。。 您可以做的是设置mysql连接器模块不返回dic,或者通过键名选择值:data['publisher']
相关问题 更多 >
编程相关推荐