hi Team,
the bulk editor of st.data_editor is not working correctly, i tried to reset the machine, reset the environment.
This is not working for me in streamlit locally and not in snowflake.
here is the code,
import streamlit as st
import pandas as pd
import os
from dotenv import load_dotenv
from snowflake.snowpark import Session
load_dotenv()
def get_session():
print("Creating Snowflake session...")
connection_params = {
"account": os.getenv("ACCOUNT"),
"user": os.getenv("USER"),
"authenticator": "externalbrowser",
"role": os.getenv("ROLE"),
"warehouse": os.getenv("WAREHOUSE"),
"database": os.getenv("DATABASE"),
"schema": os.getenv("SCHEMA"),
}
session = Session.builder.configs(connection_params).create()
print("Snowflake session created.")
return session
def process_changes():
editor_state =st.session_state.get("dynamic_editor",{})
edited = editor_state.get("edited_rows",{})
added = editor_state.get("added_rows",{})
deleted = editor_state.get("deleted_rows",{})
st.write("####")
st.write("Edited Rows ", edited)
st.write("Added Rows ", added)
def main():
st.set_page_config(layout="wide")
st.title("WIL Inventory Editor")
print("Starting app...")
session = get_session()
df = pd.DataFrame({
'A': \[1, 2, 3\],
'B': \[4, 5, 6\]
})
edited_df = st.data_editor(
df,
key="dynamic_editor",
hide_index=True,
num_rows= "dynamic",
on_change=process_changes,
disabled = False
)
st.markdown('### edited df:')
st.write(edited_df)
editor_state =st.session_state.get("dynamic_editor",{})
added_rows = editor_state.get("added_rows",{})
deleted_rows = editor_state.get("deleted_rows",{})
st.write(added_rows)
st.write(deleted_rows)
if _name_ == “_main_”:
main()
Any leads will be great.