从数据库填充窗口小部件时用花括号

时间:2019-03-07 01:37:23

标签: python-3.x tkinter

我试图弄清楚在查询数据库并填充小部件时如何防止显示{}括号。我意识到这是因为单词之间有空格,但是我不确定如何防止括号显示。

我试图通过搜索引擎寻找答案,但是我没有成功找到有关如何解决此问题的任何方法。

查询表中的每一列,它在数据填充的开头显示一个括号,并在其结尾显示一个括号。

小部件中的人口示例:

{布法罗市}

{迈阿密市}

{佛罗里达}

每个结果都来自不同的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)

1 个答案:

答案 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)

当您看到要检索的多列时,“解压”对您来说可能看起来更自然。