首页 > 解决方案 > 如何使用 Psycopg2 和 Postgresql 在新行上打印每一行

问题描述

我使用 Psycopg2 编写了一个小型 Python 程序,通过名字或姓氏查询 Postgresql 数据库。如果我有多个同名条目,除了格式之外,一切都工作正常。例如,如果只有一个“Michael”,那么它将正确显示在一行上,但是,如果有四个名为“Dan”的人,则它们将彼此相邻显示。我想在每个人之后换行,以便格式看起来正确,但我不能这样做。

这是我正在使用的查询:

lname = input("Enter First Name: ").upper()

                    print ("\nFirstName    LastName     Office#            Fax#             Cell#")
                    print ("----------- --------- ---------------  ----------------  ---------------")
                    query = "SELECT rtrim(firstname, ' '), rtrim(lastname, ' '), rtrim(officephone, ' '), rtrim(faxnumber, ' '), rtrim(cellphone, ' ') FROM employees where firstname = '" + str(lname) + "';"
                    cur.execute(query)
                    results = cur.fetchall()
                    print(results)
                    print ("\n")

我不知道要在我的查询中输入什么,以便在每个人之后换一个新行。任何帮助都会很棒!

标签: pythonpostgresqlpsycopg2

解决方案


fetchall() 返回一个列表。您可以遍历列表并打印结果。

for result in results:
    print(result)

推荐阅读