2017-03-07 84 views
0

我有一个非常基本的脚本下面搜索数据库表和检索数据取决于什么是输入然后显示结果,但结果是用逗号分隔在每个字段周围的引号是有一种方式,它可以更好地显示可能是使用HTML。python脚本来搜索和显示来自sqlite数据库的数据和结果到屏幕的结果

import sqlite3 
conn = sqlite3.connect("lucyartists.db") 
cursor = conn.cursor() 

#Get user input 
print ('Search for an Artist') 
print ('') 
print ('You can search by Name, DOB, Movement or Description') 
print ('') 
name = input("Enter Artists Name: ") 
dob = input("Enter Date of Birth: ") 
movement = input("Enter Movement: ") 
description = input ("Enter Description: ") 
sql = ("select * from artists where name like (?) or dob like (?) or movement like (?) or description like (?)") 
values = (name, dob, movement, description) 
cursor.execute(sql, values) 
result = cursor.fetchall() 
for r in result: 
print(r) 
+1

欢迎StackOverflow上。请阅读并遵守帮助文档中的发布准则。 [在主题](http://stackoverflow.com/help/on-topic)和[如何提问](http://stackoverflow.com/help/how-to-ask)适用于此处。 – Prune

+0

简单的格式化可以通过使用选项卡来实现。 HTML也可以很容易地生成。 – frederick99

回答

0

首先,print(r)需要缩进。 Python代码块由它们的缩进定义。

参见str.format文档以下4个领域here

例子:

for r in result: 
    print("Name: {}".format(r["name"]) 
    print("DOB: {}".format(r["dob"]) 
    print("Movement: {}".format(r["movement"]) 
    print("Description: {}".format(r["description"]) 
    print() # extra line between rows of output 

你可以做到这一切在一行如下:

for r in result: 
    print("Name: {} DOB: {} Movement: {} Description: {}".format(r["name"], r["dob"], r["movement"]), r["description"]) 
    print() # extra line between rows of output