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

时间:2021-06-04 06:36:54

标签: python mysql

我正在尝试将从执行 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',)

1 个答案:

答案 0 :(得分:0)

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

使用 map

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

list comprehension

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

如果要将整个列表做成一个字符串,需要再应用一层join

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])
相关问题