首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mysql查询的响应按一个顺序返回键,但使用python按不同顺序保存。

mysql查询的响应按一个顺序返回键,但使用python按不同顺序保存。
EN

Stack Overflow用户
提问于 2017-06-14 13:15:42
回答 1查看 47关注 0票数 0

我使用一个基本的python代码来查询MySQL数据库。守则如下:

代码语言:javascript
复制
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以以下形式存储结果:

代码语言:javascript
复制
{'publisher': u'google', 'campaign': u'249374', 'revenue': 4432, 'website_name': u'GGO', 'device': u'mobile', 'impressions': 20.0}

因此,发布者不是data_date成为第一个键,而是突然成为第一个键,依此类推。知道如何在存储数据时保持相同的查询顺序,或者是什么原因造成了这个问题??thx

p.s

我正在使用“旋风”作为我的web服务器

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-14 13:22:21

这种行为是正常的,实际上,在python字典中,如果您想要一个有序的迭代,您可以得到一个列表,元组,.您可以做的是将mysql连接器模块设置为不返回do,或者按它们的键名选择值:data['publisher']

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44545936

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档