I’ve started to explore the what and how of dataframes and tables in Streamlit because I need something more than just the simple st.dataframe or st.table.
I need style, layout, formatting, filtering, performance etc.
I’m experimenting and learning by creating a Table Experiments app for the awesome-streamlit.org gallery.
One thing I’ve learned is that I can in fact use the Plotly table which comes with more advanced layout and formatting options.
Another thing I’ve learned is that I cannot currently in any way use the awesome Slickgrid.
Any comments, hacks, ideas or suggestions are very much appreciated.
One thing I’ve learned is that I can in fact use the Plotly table which comes with more advanced layout and formatting options.
That’s a cool find about Plotly Table! The only issue I see is that it doesn’t use a serialization format as compact as Streamlit’s (especially given some upcoming improvements!) and doesn’t support add_rows. But for small-to-medium amounts of data that are not going to be growing over time, it’s an amazing solution! Very customizable.
I need style, layout, formatting, filtering, performance etc.
Can you go into a little more detail about what you’re looking for regarding style and layout? Also, what are the performance issues you’re encountering?
As for filtering, right now the solution is for users to implement filters using widgets. And they can even wrap the final result into their own Python modules, if they want, and distribute them in PyPI or Github!
The main limitation here is that the widgets will have to be laid out vertically, but we’re working on ways to do horizontal, grid, and tabbed layouts too. So this direction will become much more powerful at that point.
Another thing I’ve learned is that I cannot currently in any way use the awesome Slickgrid .
Yeah Slickgrid is nontrivial to support since it’s a pure JS library with no Python component. To use it in Streamlit there are two possibilities, both a little far off into the future:
Make st.dataframe use SlickGrid under the hood. In principle, we’re not against this — we’d just have to do a little research into the pros and cons of each of the main JS libraries before moving ahead. Let me know if you have any thoughts here!
Dear @thiago
Can u pls help me out…
I want to build a table in which entry for each cell would be from a streamlit.text_area().
1.I want to show the entry text as it is entered in the text area.
Right now, when I enter the text with proper indentations and in separate lines, its getting messed up and is not showing in separate lines as it was entered.
2. Can I have the column names cells to be coloured ?
Thanks for stopping by! We use cookies to help us understand how you interact with our website.
By clicking “Accept all”, you consent to our use of cookies. For more information, please see our privacy policy.
Cookie settings
Strictly necessary cookies
These cookies are necessary for the website to function and cannot be switched off. They are usually only set in response to actions made by you which amount to a request for services, such as setting your privacy preferences, logging in or filling in forms.
Performance cookies
These cookies allow us to count visits and traffic sources so we can measure and improve the performance of our site. They help us understand how visitors move around the site and which pages are most frequently visited.
Functional cookies
These cookies are used to record your choices and settings, maintain your preferences over time and recognize you when you return to our website. These cookies help us to personalize our content for you and remember your preferences.
Targeting cookies
These cookies may be deployed to our site by our advertising partners to build a profile of your interest and provide you with content that is relevant to you, including showing you relevant ads on other websites.