如何让MySQL查询结果返回列表而非元组并得到纯值字符串?
你拿到的查询结果每一行都是数据库返回的单元素元组,直接把整个元组转字符串拼接自然会保留括号和引号,提前把元组里的ID值取出来即可实现需求。
方案1:修改userids收集逻辑(推荐)
收集数据时直接取元组内的ID值,不要存整个元组:
userids=[] sql_select_query = """SELECT userid FROM database1 WHERE username = %s""" cursor.execute(sql_select_query, (username,)) record = cursor.fetchall() for row in record: # 仅取元组的第一个元素存入列表 userids.append(row[0]) # 直接拼接纯ID字符串 print(", ".join(userids))
方案2:直接处理已有userids列表
如果不想改动原有数据收集逻辑,可以直接遍历列表取每个元组的首个元素拼接:
result = ", ".join(row[0] for row in userids) print(result)
以上两种方案运行后都可以得到你需要的纯数值逗号分隔输出格式。
内容的提问来源于stack exchange,提问作者Niusoski
相关产品推荐
相关产品推荐

