我可以在while循环中以“输出”形式显示数据框吗?

我正在尝试编写一个小型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分配了一个变量,然后打印它,它将打印出表,但不是以干净的数据帧输出格式,然后继续循环。

lnaszzl 回答:我可以在while循环中以“输出”形式显示数据框吗?

只需使用此:

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()))
本文链接:https://www.f2er.com/3142880.html

大家都在问