New Component: <st_table_select_cell>, a new way to select a cell from a table

streamlit-table-select-cell

Streamlit component that allows you to select|click a cell in a table and get its rowId and columnIndex.
This is very useful when you want to dig into the detail of a cell in a pivoted dataframe.

Installation instructions

pip install streamlit-table-select-cell

Usage instructions

import streamlit as st
import pandas as pd
from st_table_select_cell import st_table_select_cell

st.subheader("Example of st_table_select_cell")

# prepare an example dataframe
data = pd.DataFrame({'Dataset':['energy','traffic','syn'], 'Test':['ehistory','snapshot','aggmax'], 'PG': [3,6,9], 'TG':[2,5,7]})
st.dataframe(data)

# show table and get user selected cell
selectedCell = st_table_select_cell(data)
st.write(selectedCell)

if selectedCell:
    rowId = selectedCell['rowId']
    colIndex = selectedCell['colIndex']
    st.write(rowId, colIndex)

    # return column name of the selected cell.
    st.write(data.columns[colIndex])
    
    # return row of the selected cell as dict.
    st.write(data.iloc[int(rowId)].to_dict())
    
    # return cell content as string.
    st.write(data.iat[int(rowId), colIndex])
else:
    st.write('no select')
2 Likes

could u please post a few screenshots to get a feel of it.

1 Like

渲染好像有问题,能加个QQ细聊吗


screenshots. tested on streamlit 1.30.0.
you can also try it on https://table-select-cell.streamlit.app/

bug fix with version 0.3.4 on streamlit 1.39.0

Thank you very much for this add-on, I find it very useful!

I’m wondering if it’s possible to change the width of the table as well as the colour of selection?