我正在从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)
答案 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类型字典,而不只是打印代码计划。