我想在mysql中选择一行,我这样做:
import pymysql
conn = pymysql.connect(
host='10.0.0.11',
port=3306,
user='root',
password='159753arazr',
db='bili_1810',
charset='utf8',
cursorclass=pymysql.cursors.DictCursor)
cursor = conn.cursor()
table_name = ['24569', '25510']
for x in table_name:
sql = "SELECT `播放`, `关注`, `弹幕`, `硬币` FROM `"+x+"` LIMIT %s, 1"
cursor.execute(sql, (9))
conn.commit()
result = cursor.fetchall()
print(result)
conn.close()
结果是:
[{'播放': '25824', '关注': '3071', '弹幕': '141', '硬币': '107'}]
[{'播放': '0', '关注': '1244460', '弹幕': '0', '硬币': '0'}]
但是我希望它像这样:
[{'25824', '3071', '141', '107'}]
[{'0', '1244460', '0', '0'}]
就没有列名,我该怎么办?
答案 0 :(得分:2)
结果显示,您将获得一个列表,其中包含您在dict结构中查询的项目。如果您想要获得所需的结果,可以尝试以下操作:
result = cursor.fetchall()
result_values = [iter_item for iter_item in map(lambda item: [item[key]
for key in item.keys()], result)]
通过这种方式,您可以获得[[]]
而不是[{}]
,但这可以保证值顺序。如果只需要设置,则可以使用以下命令:
result = cursor.fetchall()
result_values = [iter_item for iter_item in map(lambda item: set([item[key]
for key in item.keys()]), result)]