【问题标题】:Printing SQL query output on separate lines在单独的行上打印 SQL 查询输出
【发布时间】:2022-01-07 13:01:54
【问题描述】:

我需要在单独的行上打印我的 SQL 查询的结果,因为目前它返回一个大长行,如下所示。

这是目前的代码

def getdata(name):
    conn = sqlite3.connect('details.db')
    c = conn.cursor()
    c.execute("SELECT * FROM tbldetails WHERE name = '" + name +"' ")
    result = c.fetchone()
    return(result)

我正在寻找的结果如下:

value1
value2
value3

【问题讨论】:

  • 请分享框中的全文并解释您如何调用该函数。 value1 value2 value3 应该是什么?字段的值?还是您希望它们是来自连续记录的值?
  • 喜欢...for k, v in result.items(): print(v)(要遍历您使用fetchone() 捕获的单个结果行中的列)?。或者...您是否想要迭代许多结果行,在这种情况下.fetchall() 会更合适。
  • 如果字段都是字符串,那么显而易见的'\n'.join(result) 就可以完成这项工作。我看到你在使用 SQLite,所以每个字段都是一个字符串。
  • 蒂姆·罗伯茨。您的解决方案效果很好,谢谢

标签: python sql


【解决方案1】:

您应该分享要获取的单元格的值以提供更多信息。

通常你可以:

  1. .split() 任何分隔符上的值。
  2. 使用for x in c.execute(... 遍历结果
  3. 或者甚至可以使用c.fetchall() 并遍历列表。

【讨论】:

  • 他获得了一项记录。它为该行返回一个元组,就像fetchone 总是做的那样。没有什么可以分开的。这个答案没有用。
  • @TimRoberts 同意,作者可能需要遍历元组的元素并将它们分别打印在一行上。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-07-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多