如何让 Streamlit 每 5 秒重新加载一次?
How to make Streamlit reloads every 5 seconds?
我必须每 5 秒重新加载一次 Streamlit 图表,以便在 XLSX 报告中可视化新数据。
如何实现?
import streamlit as st
import pandas as pd
import os
mainDir = os.path.dirname(__file__)
filePath = os.path.join(mainDir, "sources\test.xlsx")
df = pd.read_excel(filePath)
option1 = 'Product'
option2 = 'Quantity'
df = df[[option1, option2]].set_index(option1)
st.write('Product Quantity')
st.area_chart(df)
Streamlit 会在您的 源代码 每次更改时识别。因此,基于此前提,实现此目的的一种方法是创建一个空的“dummy.py”文件,该文件将由主脚本导入并由另一个脚本 运行ning 同时每 5 秒更新一次:
在主脚本的同一文件夹中创建一个空的“dummy.py”文件;
在同一文件夹中创建名为“refresher.py”的脚本;
现在将以下 While 循环放入“refresher.py”文件中,以便每 5 秒用随机数(注释)更新“dummy.py”:
from random import randint
import time
import os
def refresher(seconds):
while True:
mainDir = os.path.dirname(__file__)
filePath = os.path.join(mainDir, 'dummy.py')
with open(filePath, 'w') as f:
f.write(f'# {randint(0, 10000)}')
time.sleep(seconds)
refresher(5)
使用 Streamlit 图表代码将以下行添加到脚本中:""" from dummy import * """
运行“refresher.py”脚本;
运行 Streamlit 脚本与您的图表;
从现在开始,Streamlit 会将“dummy.py 文件”中的任何修改识别为源代码中的修改;
网页完全加载后,它会提醒您源文件已更改。单击“始终重新运行”即可。
我必须每 5 秒重新加载一次 Streamlit 图表,以便在 XLSX 报告中可视化新数据。 如何实现?
import streamlit as st
import pandas as pd
import os
mainDir = os.path.dirname(__file__)
filePath = os.path.join(mainDir, "sources\test.xlsx")
df = pd.read_excel(filePath)
option1 = 'Product'
option2 = 'Quantity'
df = df[[option1, option2]].set_index(option1)
st.write('Product Quantity')
st.area_chart(df)
Streamlit 会在您的 源代码 每次更改时识别。因此,基于此前提,实现此目的的一种方法是创建一个空的“dummy.py”文件,该文件将由主脚本导入并由另一个脚本 运行ning 同时每 5 秒更新一次:
在主脚本的同一文件夹中创建一个空的“dummy.py”文件;
在同一文件夹中创建名为“refresher.py”的脚本;
现在将以下 While 循环放入“refresher.py”文件中,以便每 5 秒用随机数(注释)更新“dummy.py”:
from random import randint import time import os def refresher(seconds): while True: mainDir = os.path.dirname(__file__) filePath = os.path.join(mainDir, 'dummy.py') with open(filePath, 'w') as f: f.write(f'# {randint(0, 10000)}') time.sleep(seconds) refresher(5)
使用 Streamlit 图表代码将以下行添加到脚本中:""" from dummy import * """
运行“refresher.py”脚本;
运行 Streamlit 脚本与您的图表;
从现在开始,Streamlit 会将“dummy.py 文件”中的任何修改识别为源代码中的修改;
网页完全加载后,它会提醒您源文件已更改。单击“始终重新运行”即可。