首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用pymysql在python中选择没有列名的列?

如何使用pymysql在python中选择没有列名的列?
EN

Stack Overflow用户
提问于 2018-09-27 21:37:49
回答 2查看 892关注 0票数 2

我想在mysql中选择一行,如下所示:

代码语言:javascript
复制
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()

结果是:

代码语言:javascript
复制
[{'播放': '25824', '关注': '3071', '弹幕': '141', '硬币': '107'}]
[{'播放': '0', '关注': '1244460', '弹幕': '0', '硬币': '0'}]

但我希望它是这样的:

代码语言:javascript
复制
[{'25824', '3071', '141', '107'}]
[{'0', '1244460', '0', '0'}]

没有列名,我怎么做呢?

EN

回答 2

Stack Overflow用户

发布于 2018-09-27 23:28:34

如您的结果所示,您得到了一个列表,其中包含您在dict struct.If中查询的项。您想要获得想要的结果,可以尝试这样做:

代码语言:javascript
复制
result = cursor.fetchall()
result_values = [iter_item for iter_item in map(lambda item: [item[key]
                                          for key in item.keys()], result)]

通过这种方式,您可以获得like [[]]而不是[{}],但这保证了值的顺序。如果你只想要set,你可以使用这个:

代码语言:javascript
复制
result = cursor.fetchall()
result_values = [iter_item for iter_item in map(lambda item: set([item[key]
                                          for key in item.keys()]), result)]
票数 2
EN

Stack Overflow用户

发布于 2022-02-04 05:18:42

只需删除默认情况下它以所需格式提供的没有键的cursorclass=pymysql.cursors.DictCursor即可。

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

https://stackoverflow.com/questions/52538374

复制
相关文章

相似问题

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