我正在尝试编写一个小型python程序来管理sql db中的表。我的功能之一是查询数据库,并将其存储在数据帧中,然后以输出格式显示该数据帧。此函数本身运行良好,但是将其置于while循环中时,由于循环仍在运行,因此不会显示输出。
在下面运行此命令将以通常的干净数据帧格式输出df。
def show_table(x,k={}):
mydb=connect(k.get("a_p"), k.get("h"), k.get("u"), k.get("p"), k.get("db"))
try:
quack = pd.read_sql('SELECT * FROM '+str(x), mydb)
except mysql.connector.Error as e:
print("An error occured: {}".format(e))
finally:
if (mydb.is_connected()):
mydb.close()
return quack
show_table(stock_main,sql)
放在我的while循环中时,将不会输出。
i=True
while i != "":
i = input("select table")
if i in tables:
show_table(i,sql)
else:
print(False)
如果我为show_table分配了一个变量,然后打印它,它将打印出表,但不是以干净的数据帧输出格式,然后继续循环。
答案 0 :(得分:0)
只需使用此:
from IPython.display import display, HTML
df = pd.DataFrame({'col1': [1,2,3], 'col2': [3,4,5]})
i = 0
while i!=2:
i+=1
display(HTML(df.to_html()))