我尝试将从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',)发布于 2021-06-04 15:12:02
para1是一个元组列表。要将每个元组转换为字符串,我们需要将元组中的每个元素转换为字符串,然后使用str.join将它们组合为字符串。
使用map
joined_str = ', '.join(map(str, tup))或者是一个list comprehension
joined_str = ', '.join([str(elem) for elem in tup])如果要将整个列表转换为字符串,则需要应用另一层连接
joined_str = '\n'.join([', '.join(map(str, tup)) for tup in para1])或
joined_str = '\n'.join([', '.join(str(elem) for elem in tup) for tup in para1])https://stackoverflow.com/questions/67832511
复制相似问题