从mysqldb获取Python列表格式
我正在尝试使用一个类(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]