在Python中把SQL结果转换为字符串格式

0 人关注

我试图将执行SQL语句所得到的结果转换成字符串,因为输出是元组格式。我是Python编程的新手,所以,我在网上找到了一段代码,可以将元组转换为字符串,但当我用从SQL语句执行中获得的元组进行尝试时,结果仍然没有改变。你能告诉我如何按计划进行吗?以下是所使用的代码。

import functools
import operator
import mysql.connector
mydb = mysql.connector.connect(
      host='localhost',
      user='root',
      password='123456789',
      port='3307',
      database='magna'
def convertTuple(tup):
     str1 = functools.reduce(operator.add, (tup))
     return str1
#The converting function
mycusor = mydb.cursor()
mycusor.execute("SELECT Name FROM people WHERE ID =1")
para1 = mycusor.fetchall()
targ = para1
str2 = convertTuple(targ)
print(str2)

由上述代码产生的结果是:

('Mike',)
    
2 个评论
你能分享一下例子数据吗?另外,你正在重写内置类型( tuple str )。对这些变量使用不同的名字。
谢谢你的建议 @nocibambi ,我在编辑中加入了它们。
python
mysql
Sudeepa Alex
Sudeepa Alex
发布于 2021-06-04
1 个回答
snakecharmerb
snakecharmerb
发布于 2021-06-04
已采纳
0 人赞同

para1 是一个元组列表。 为了将每个元组转换为字符串,我们需要将元组中的每个元素转换为字符串,然后使用 str.join 来把它们合并成一个字符串。

Using 地图

joined_str = ', '.join(map(str, tup))

或一个list comprehension

joined_str = ', '.join([str(elem) for elem in tup])

如果你想把整个列表变成一个字符串,你需要应用另一层的连接方式