Thu. Apr 30th, 2026

Code Example

import uuid
import streamlit as st
import pandas as pd


def fetch_data():
    st.session_state.data = pd.DataFrame({
        "Name": ["Alice", "Bob", "Charlie"],
        "Age": [25, 30, 35],
        "City": ["New York", "Los Angeles", "Chicago"]
    })
    st.session_state.data_key = str(uuid.uuid4())


fetch_data()

if "data" not in st.session_state:
    st.session_state.data = None

if st.button("Fetch Data"):
    etch_data()

if st.session_state.data is not None:
    st.write("You can edit the data below:")
    edited_data = st.data_editor(
        st.session_state.data,
        num_rows="dynamic",
        key=st.session_state.data_key
    )
    st.write("Edited Data:")
    #st.write(edited_data)
else:
    st.write("Click the button to fetch data.")