Internal Links
17
External Links
4
Images
5
Headings
8
Page Content
Title:Demo
Description:This app was built in Streamlit! Check it out and visit https://streamlit.io for more awesome community apps. 🎈
HTML Size:248 KB
Markdown Size:8 KB
Fetched At:November 17, 2025
Page Structure
h1Data Editor Demo
h2⚙️ Installation
h3🧮 Editable Dataframe
h3📋 Compatible with st.form
h3➕ Adding & deleting rows
h3📥 Paste from clipboard
h3📝 Editing for common data structures
h3🏃🏼 Large-data handling
Markdown Content
Demo · Streamlit You need to enable JavaScript to run this app. - Demo - ℹ️Index Types - ↔️Dimensions - 🎨Styler Support - 🏗Large Data - 📄Data Formats - 📖Docstring Examples - 🔠Column Types - 🔮Other Tests 🧮 # Data Editor Demo - Content Overview ## ⚙️ Installation To install the Streamlit version that includes the `st.data_editor`, execute: `pip install -U https://github.com/LukasMasuch/st-playground/releases/download/data-editor-0.2.1/streamlit-1.18.1-py2.py3-none-any.whl` If you want to deploy an app with this streamlit version to Streamlit Cloud, add the following line to the `requirements.txt` file in the root of your repo: `https://github.com/LukasMasuch/st-playground/releases/download/data-editor-0.2.1/streamlit-1.18.1-py2.py3-none-any.whl` ### 🧮 Editable Dataframe * * * The `st.data_editor` allows to edit the cells of a dataframe via a table-like UI. Find more information and provide feedback in Editable dataframes - Spec. - Code Example Select a dataset profiles open name age gender active status homepage 0 Brian Jones 49 male false 0.95 http://www.walker.com/ 1 Megan Rodriguez DDS 32 male true 0.06 https://www.smith.com/ 2 Oscar Navarro 45 other true 0.7 https://romero.com/ 3 Bethany Matthews 90 female false 0.17 http://rodriguez-fletcher.com/ 4 Jack Jones 89 male false 0.41 https://morse.org/ 5 Danielle Mccullough 4 other true 0.7 http://www.cooper-lee.com/ 6 Marie Kemp 61 female false 0.52 http://www.pena.com/ 7 Erika Dougherty 83 male true 0.97 http://www.clark.org/ 8 Jenny Johnson 20 false 0.92 http://wallace-gibson.net/ 9 Dean Barton 15 male true 0.7 https://smith.com/ 10 Kim Hansen 26 male false 0.13 http://cervantes-jones.com/ 11 David Vargas 2 male false 0.37 https://jarvis.com/ Type to search - Edited Data - Widget State ### 📋 Compatible with st.form * * * The `st.data_editor` can be used inside a st.form. This is useful if you want to allow frequent edits to the data without impacting the user experience. Find more information and provide feedback in Editable dataframes - Spec. - Code Example name age gender active status homepage 0 Brian Jones 49 male false 0.95 http://www.walker.com/ 1 Megan Rodriguez DDS 32 male true 0.06 https://www.smith.com/ 2 Oscar Navarro 45 other true 0.7 https://romero.com/ 3 Bethany Matthews 90 female false 0.17 http://rodriguez-fletcher.com/ 4 Jack Jones 89 male false 0.41 https://morse.org/ 5 Danielle Mccullough 4 other true 0.7 http://www.cooper-lee.com/ 6 Marie Kemp 61 female false 0.52 http://www.pena.com/ 7 Erika Dougherty 83 male true 0.97 http://www.clark.org/ 8 Jenny Johnson 20 false 0.92 http://wallace-gibson.net/ 9 Dean Barton 15 male true 0.7 https://smith.com/ 10 Kim Hansen 26 male false 0.13 http://cervantes-jones.com/ 11 David Vargas 2 male false 0.37 https://jarvis.com/ Type to search Submit ### ➕ Adding & deleting rows * * * Viewers are able to add or delete rows via the table UI. This mode can be activated by setting the `num_rows` parameter to `"dynamic"`. Rows can be added by clicking on any cell of the last (trailing) row. To delete rows, select one or more rows and press the`delete` key on your keyboard. Find more information and provide feedback in Adding and deleting rows - Spec. ℹ️ The current UI/UX for adding and deleting rows is a bit suboptimal. This is planned to be improved (e.g. adding toolbar buttons to trigger addition/deletion). - Code Example name age gender active status homepage Brian Jones 49 male false 0.95 http://www.walker.com/ Megan Rodriguez DDS 32 male true 0.06 https://www.smith.com/ Oscar Navarro 45 other true 0.7 https://romero.com/ Bethany Matthews 90 female false 0.17 http://rodriguez-fletcher.com/ Jack Jones 89 male false 0.41 https://morse.org/ Danielle Mccullough 4 other true 0.7 http://www.cooper-lee.com/ Marie Kemp 61 female false 0.52 http://www.pena.com/ Erika Dougherty 83 male true 0.97 http://www.clark.org/ Jenny Johnson 20 false 0.92 http://wallace-gibson.net/ Dean Barton 15 male true 0.7 https://smith.com/ Kim Hansen 26 male false 0.13 http://cervantes-jones.com/ David Vargas 2 male false 0.37 https://jarvis.com/ Type to search - Edited Data - Widget State ### 📥 Paste from clipboard * * * The data editor supports pasting in tabular data from Google Sheets, Excel, Notion, and many other similar tools. You can also copy-paste data between `st.data_editor` instances. Find more information and provide feedback in Adding and deleting rows - Spec. **To try it out**: - Copy data from this Googel Sheets document to clipboard - Select any cell in the `name` column of the table below and paste it in (via `ctrl/cmd + v`). *Every cell of the pasted data will be evaluated individually and inserted into the cells if the data is compatible with the column type. For example, pasting in non-numerical text data into a number column will be ignored.* name age gender active status homepage Kelly Kelley 75 true 0.71 http://edwards.com/ Nicole Nguyen MD 9 female true 0.47 https://www.cole.net/ Ethan Turner 39 female false 0.6 https://www.baird-garner.info/ Todd Burton 28 female true 0.26 https://www.porter.biz/ Justin Garcia 89 other false 0.9 http://ward-romero.org/ Type to search - Edited Data ### 📝 Editing for common data structures * * * Besides pandas dataframes, the `st.data_editor` also supports editing a variety commonly used multi-dimensional data structures. Find more information and provide feedback in Editable dataframes - Spec. **Set of values - `Set[Primitive]`:** - Code Example value st.markdown st.text\_area Type to search - Edited Data **List of values - `List[Primitive]`:** - Code Example value 4.92 47.22 Type to search - Edited Data * * * **List of records - `List[Dict[str, Any]]`:** - Code Example name type st.text\_area widget st.markdown element Type to search - Edited Data **Key-value dict - `Dict[str, Primitive]`:** - Code Example value st.text\_area widget st.markdown element Type to search - Edited Data * * * **Column-value mapping - `Dict[str, List[Any]]`:** - Code Example name type st.text\_area widget st.markdown element Type to search - Edited Data **Column-index mapping - `Dict[str, Dict]`:** - Code Example type usage st.text\_area widget 4.92 st.markdown element 47.22 Type to search - Edited Data * * * **List of rows - `List[List[Primitive]`:** - Code Example 0 1 st.text\_area widget st.markdown element Type to search - Edited Data **Numpy ndarray - `np.ndarray`:** - Code Example 0 1 2 st.text\_area widget 4.92 st.markdown element 47.22 Type to search - Edited Data ### 🏃🏼 Large-data handling * * * The frontend is optimized for large datasets and can handle millions of rows. But there are still some bottlenecks for handling very large dataframes in Streamlit: 1) the proto message size limit (although its configurable) 2) the memory of the Streamlit python backend 3) the memory of the user's browser. Select size of dataframe 1000 1 1000000 name age gender active status homepage Kelly Kelley 75 true 0.71 http://edwards.com/ Nicole Nguyen MD 9 female true 0.47 https://www.cole.net/ Ethan Turner 39 female false 0.6 https://www.baird-garner.info/ Todd Burton 28 female true 0.26 https://www.porter.biz/ Justin Garcia 89 other false 0.9 http://ward-romero.org/ Laura Ward 74 other true 0.19 https://lane.org/ Krystal Holden 67 female false 0.29 http://www.vaughan.com/ Jennifer Hill 74 false 0.55 http://www.tucker-rodriguez.com/ Susan Barnett 57 other true 0.26 http://lyons.com/ Charles Kirk 56 female true 0.19 http://www.barnett.com/ Mary Contreras 17 other true 0.1 http://www.sullivan.net/ Renee Moore 29 female true 0.23 https://www.rios.com/ Type to search - Edited Data Made with Streamlit