我试图弄清楚在查询数据库并填充小部件时如何防止显示{}括号。我意识到这是因为单词之间有空格,但是我不确定如何防止括号显示。
我试图通过搜索引擎寻找答案,但是我没有成功找到有关如何解决此问题的任何方法。
查询表中的每一列,它在数据填充的开头显示一个括号,并在其结尾显示一个括号。
小部件中的人口示例:
{布法罗市}
{迈阿密市}
{佛罗里达}
每个结果都来自不同的row_id,但来自同一表和列。 如果两个单词(BuffaloCity)之间没有空格,则没有括号;如果单词之间由下划线(Buffalo_City)绑在一起,则也没有括号。
是否有我可以阅读的文档以了解如何解决并防止这种情况发生?
我的查询:
selection = var.get()
c.execute('SELECT Recipe FROM Recipes WHERE Dish_Type = :selection ORDER BY Recipe DESC', {"selection": selection})
results = c.fetchall()
for each_result in results:
output.insert(0,each_result)
答案 0 :(得分:0)
您可以像这样处理数据库结果:
for each_result in results:
output.insert(0, each_result)
我建议重命名变量以反映您的SQL查询:
for recipe in results:
output.insert(0, recipe)
有了更具体,更有意义的变量名,我们现在可以看到该错误。实际上,您是在遍历数据库中的结果行,而不是遍历各个配方。因此,请添加一个逗号来修复您的语法:
for recipe, in results:
output.insert(0, recipe)
例如,如果SELECT语句也要求准备时间,则可以使用相同的元组拆包语法:
for recipe, prep_time in results:
output.insert(0, recipe)
当您看到要检索的多列时,“解压”对您来说可能看起来更自然。