Python-从结果列表中删除括号

时间:2017-01-27 15:05:25

标签: python mysql

我正在从mysql数据库中检索一些结果,它们以括号括起来的形式出现。我想删除括号,我已经使用了条带功能,但这只适用于我有一个结果要显示的情况。

以下代码仅删除仅包含一个元素的搜索结果的括号。

@QtCore.pyqtSignature("on_pushButton_clicked()")
def searchDBnumber(self):
    searchName = self.searchInput.toPlainText() 

    if len(searchName) != 0:
        searchForName = ("""SELECT number FROM test_table WHERE name =""" + "'"+ searchName +"'")



        cursor.execute(searchForName)

        result = cursor.fetchall()

        result = str(result).strip('[](),')
        self.number.setPlainText(result)

2 个答案:

答案 0 :(得分:0)

如果只想从结果中删除所有括号,可以使用replace()方法。语法是string.replace(string_to_replace,string_to_replace_with)。

例如:

result = str(result).replace("()", "")

我相信,每个支架类型都需要这样做。所以" []"。

的另一轮

请注意,删除所有括号后,如果括号是分隔符,则将结果集拆分为单个行可能很难。

答案 1 :(得分:0)

经过一番摸索,我发现您从mysql查询中获得的结果不是字符串而是元组,因此仅尝试删除方括号是行不通的。

这是我如何处理它的示例,从查询开始:

mycursor.execute("SELECT name1, name2 FROM testdatabase where (name1 REGEXP '^test.*') ")

然后我可以遍历结果并像这样打印每个结果:

for result in query_results:
    print(result)

哪个给出这样的结果:

('test0', 'something0')
('test1', 'something1')
('testing0', 'somethingelse1')

但是我想将每个结果都分成两个字段,以便您可以执行以下操作:

for result in query_results:
    part1, part2 = result
    print('{} - {}'.format(part1, part2))

这将为您提供如下输出:

test0 - something0
test1 - something1
testing0 - somethingelse1

创建我可以轻松搜索的json类型字典,而不只是打印代码计划。