Python 我可以在while循环中以输出形式显示数据帧吗?
我正试图编写一个小型python程序来管理sql数据库中的表。我的一个函数是查询数据库,并将其存储在数据帧中,然后以输出格式显示数据帧。此函数本身运行良好,但当它置于while循环中时,它不会显示输出,因为循环仍在运行 运行下面的命令将以通常的干净数据帧格式输出dfPython 我可以在while循环中以输出形式显示数据帧吗?,python,pandas,dataframe,while-loop,Python,Pandas,Dataframe,While Loop,我正试图编写一个小型python程序来管理sql数据库中的表。我的一个函数是查询数据库,并将其存储在数据帧中,然后以输出格式显示数据帧。此函数本身运行良好,但当它置于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:
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分配一个变量,然后打印它,它将打印出表,但不会以干净的dataframe输出格式打印,然后继续循环 就用这个:
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()))
只要用这个:
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()))