如何从python中的cursor.execute()读取所有数据?

时间:2018-05-30 03:43:18

标签: python pymysql mysql-connector-python

我使用PyMysql连接到我的MySQL数据库。

cursor.execute(query)
data = cursor.fetchall()
for (id,clientid,timestamp) in cursor:
    print id,clientid,timestamp

我想根据时间戳对数据进行排序;比如;

 sortedList = sorted(data, key=lambda x: x.timestamp, reverse=False)

但是游标返回行。如何返回整个数据,以便根据任何参数对它们进行排序?

p.s:这里的数据包含多行;  1, '1170', 'AS0001', 1, '1', datetime.datetime(2018, 3, 15, 10, 56), Decimal('15185.7562'), Decimal('0.0000'), Decimal('19814.3181')

1 个答案:

答案 0 :(得分:1)

使用普通旧游标,您可以执行cursor.fetchall(),如下所示:

[(1,2,3), (4,5,6), ...]

哪个输出

connection = pymysql.connect(db='foo', cursorclass=pymysql.cursors.DictCursor)

但是,如果您希望以字典格式显示结果,请确保连接:

[{'a':1, 'b':2, 'c': 3}, ...]

在这种情况下,结果将在您的lambda中使用,即:

HTTP Error 500.52 - URL Rewrite Module Error.
Config Error       Cannot add duplicate collection entry of type 'rule' with unique key attribute 'name' set to 'RequestBlockingRule1'