You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 07:42:15