Ich verwende für diese Aufgabe hauptsächlich Folium und Streamlit. Ich habe zwei Datensätze erfolgreich geplottet und eine zufällige rote Markierung gezeichnet. Mein Plan ist, dass die Karte mit Mausklicks interagiert. Ich komme nicht über diese Zeit hinaus, da ich mich frage, warum es jedes Mal neu geladen wird, wenn ich irgendwo auf die Karte klicke. Ich versuche, in meinen Folium-Karten auf die Verwendung von Javascript zu verzichten, und es macht keinen Sinn, dass Streamlit so langsam ist.
So verwende ich den Cache_Data-Dekorator. Im Grunde eine einzelne Funktion, die alle Datentypen akzeptiert (Ja, das ist keine schöne Funktion). Bitte sagen Sie mir, was ich falsch mache.
Code: Select all
@st.cache_data
def load_data(file_url):
if pathlib.Path(file_url).suffix == ".json":
# df = pd.read_json(file_url)
df = json.load(open(file_url))
elif pathlib.Path(file_url).suffix == ".xlsx":
df = pd.read_excel(file_url, sheet_name="Sheet1")
return df
