I’m not sure I completely understand what you’re asking, but yes - you can certainly save the results of inputs to a Dataframe (or any other structure) using Streamlit.
import streamlit as st
import pandas as pd
@st.cache(allow_output_mutation=True)
def get_data():
return []
user_id = st.text_input("User ID")
foo = st.slider("foo", 0, 100)
bar = st.slider("bar", 0, 100)
if st.button("Add row"):
get_data().append({"UserID": user_id, "foo": foo, "bar": bar})
st.write(pd.DataFrame(get_data()))
This example appends entries to a cached list, and then converts that list to a dataframe on demand. If you’ll have multiple users editing this simultaneously, you probably want to append to a file on disk every time the “Add Row” button is pressed, rather than just appending to an in-memory file.
Hello suppose I am creating a user registration form where the user inputs name and email id for example. So can I have the data stored in a dataframe or maybe excel file while my app is deployed and still running ?
hey @tim! thanks for this code! I want to add a delete button to delete rows but the list is an in-memory list - how would i be able to delete a row this way? (usecase: the user may make a mistake with the “Add row” button and I want to have a way to handle for that)