Not all data types are supported yet. I also cannot edit date entries and that is listed as a “coming soon” item. The interesting thought is that all these cell editors are like individual widgets nested inside the data editor. Editing a list inside a cell of a data editor would be like nesting a data editor inside a data editor. Hence, I’m not sure where their thoughts are on such a thing. You may need to convert your lists to strings to edit them with the current data editor and do some extra manipulations to handle that.
As an example, I cannot edit columns ‘A’ and ‘B’ in this case:
import streamlit as st
import pandas as pd
from datetime import date
df = pd.DataFrame({
'A':([1],[2],[3]),
'B':(date(2020,1,1),date(2020,2,1),date(2020,3,1)),
'C':(1,2,3),
'D':('1','2','3')
})
st.experimental_data_editor(df)
The release blog post does say:
Support for additional data types. Let your users edit lists, tuples, sets, dictionaries, NumPy arrays, or Snowpark and PySpark dataframes. Most types are returned in their original format.
However, I think that means that you can pass lists and tuples as the base for populating the data editor, rather than editing such elements within a column of a dataframe.
It probably makes sense to update the documentation to clarify exactly which data types are and aren’t supported for editing with each release.
Pinging @jrieke