[英]Postgresql: how to copy a column from a table to another using psycopg2?
[英]How to print each row on a new line using Psycopg2 and Postgresql
我使用 Psycopg2 编写了一个小型 Python 程序,通过名字或姓氏查询 Postgresql 数据库。 如果我有多个同名条目,除了格式之外,一切正常。 例如,如果只有一个“迈克尔”,那么它会正确显示在一行上,但是,如果有四个名为“丹”的人,他们会并排显示。 我想在每个人之后创建一个新行,以便格式看起来正确,但我无法这样做。
这是我正在使用的查询:
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")
我不知道在我的查询中输入什么,以便它会在每个人之后转到一个新行。 任何帮助都会很棒!
fetchall()返回一个列表。 您可以遍历列表并打印结果。
for result in results:
print(result)
您的调用results = cur.fetchall()
只是将所有检索到的数据放入一个列表中。 调用print(results)
不会在单独的行上打印所有项目:
>>> b=((1,2,3),(4,5,6))
>>> print(b)
((1, 2, 3), (4, 5, 6))
您需要遍历它们:
>>> b=((1,2,3),(4,5,6))
>>> print(b)
((1, 2, 3), (4, 5, 6))
>>> for r in b:
... print(r)
...
(1, 2, 3)
(4, 5, 6)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.