如何在Streamlit中展示Excel数据?仅Dataframe显示问题求助
Streamlit仅显示Dataframe无法展示柱状图的解决方法
核心问题分析
st.set_page_config位置错误
Streamlit强制要求st.set_page_config必须是第一个执行的Streamlit命令,你的代码先加载数据集再设置页面配置,会触发内部逻辑错误,导致后续组件加载异常。代码语法错误
最后一行st.bar_chart(expense_by_category)末尾多了一个反引号,直接导致代码运行报错,柱状图无法渲染。
修正后的完整代码
import pandas as pd import streamlit as st # 必须放在所有Streamlit命令最前面 st.set_page_config(page_title="Budget Dashboard", layout="wide") file_path = r"C:\file\path\here" # 推荐用原始字符串避免Windows路径转义问题 dataset = pd.read_excel(file_path) st.write("Original Budget Data:") st.write(dataset) dataset['Amount'] = pd.to_numeric(dataset['Amount'], errors='coerce') dataset['Amount'].fillna(0, inplace=True) expense_by_category = dataset.groupby('Category')['Amount'].sum() st.write("Expenses by Category:") st.bar_chart(expense_by_category)
额外排查步骤
- 运行代码时查看终端/命令行输出,Streamlit会把错误信息直接打印在这里,比如位置错误会提示
set_page_config() must be called as the first Streamlit command,语法错误会明确标注异常位置。 - 确认分组后的数据非空:在生成
expense_by_category后添加st.write(expense_by_category),检查是否有有效求和结果,若分组后无数据,柱状图会显示为空。 - 验证Excel中
Category列的有效性:确保该列有不同类别值,无大量空值,否则分组求和后无法生成可展示的柱状图数据。
内容的提问来源于stack exchange,提问作者user22540715
相关产品推荐
相关产品推荐

