从mysqldb获取Python列表格式

6 投票
2 回答
1727 浏览
提问于 2025-04-17 12:32

我正在尝试使用一个类(adns-python),它需要一个特定格式的列表:

domain_names = ["google.com", "yahoo.com"]

当我手动声明这个列表时,它是可以正常工作的。不过,我想用从mysql数据库中通过python-mysqldb返回的列表。

当我查看从mysql返回的内容时,使用的是:

type(mysql_rows) 

这看起来也是一个列表,但当我查看结果时:

print(mysql_rows) 

我发现这个列表的格式是:

 [('google.com',), ('yahoo.com',)]

我尝试用list(mysql_rows)强制输出为列表,但没有成功。我还尝试手动解析文本,使其看起来像列表,使用的是:

text_rows = "[" + ", ".join'"%s"' % i for i in mysql_rows = "]"

这样显示的格式是正确的,但它是一个字符串而不是列表,所以这也不行。

这是我学习python的前几天,所以如果这是个明显或愚蠢的问题,我很抱歉。

谢谢

2 个回答

6

这个列表是由多个元组组成的。一个简单的

lst = [x for x, in mysql_rows]

就足够了。

4

MySQL会返回一个元组的列表。每个元组代表你查询结果中的一行数据。如果你只想要结果中的第一列数据,可以试试下面的方法:

first_column = [x[0] for x in mysql_rows]

撰写回答