如何调整Streamlit中st.dataframe与st.write输出的DataFrame字体大小?
调整Streamlit中st.dataframe和st.write展示DataFrame的字体大小
要解决st.dataframe字体过小且保留排序功能的问题,可以通过注入自定义CSS修改组件样式,该方法同样适用于st.write输出的DataFrame。
实现代码
直接在脚本中添加CSS注入逻辑,针对Streamlit的DataFrame组件调整字体:
import pandas as pd import streamlit as st # 注入自定义CSS,修改DataFrame的表头和单元格字体大小 st.markdown(""" <style> /* 定位st.dataframe和st.write生成的DataFrame组件 */ div[data-testid="stDataFrame"] td, div[data-testid="stDataFrame"] th { font-size: 16px; /* 可按需调整字号,比如14px、18px */ } </style> """, unsafe_allow_html=True) # 读取并展示数据 df = pd.read_csv('data/AUDCAD_1h.csv', index_col=0) st.dataframe(df, use_container_width=True) st.write(df) # 此样式同样作用于st.write输出的DataFrame
关键说明
- CSS选择器精准匹配Streamlit的DataFrame组件,同时修改表头(
th)和数据单元格(td)的字体大小 - 调整
font-size数值即可自定义字号,不影响st.dataframe的排序、筛选等原生功能 - 该方案同时覆盖
st.write输出的DataFrame,因为两者底层使用同一组件实现
内容的提问来源于stack exchange,提问作者dbmtbm
相关产品推荐
相关产品推荐

