import streamlit as st import pandas as pd # تابع برای خواندن فایل اکسل و نمایش شیت‌های مختلف def load_excel(file): xls = pd.ExcelFile(file) sheet_names = xls.sheet_names st.sidebar.header('انتخاب شیت') sheet = st.sidebar.selectbox('انتخاب شیت', sheet_names) df = pd.read_excel(file, sheet_name=sheet) return df, sheet_names st.title('داشبورد تجزیه و تحلیل داده‌های نیشکر') st.sidebar.header('آپلود فایل اکسل') uploaded_file = st.sidebar.file_uploader('آپلود فایل اکسل', type=['xlsx']) if uploaded_file: df, sheets = load_excel(uploaded_file) st.write(f'نمایش داده‌های شیت: {sheets[0]}') st.dataframe(df) st.sidebar.header('انتخاب شیت') selected_sheet = st.sidebar.selectbox('انتخاب شیت', sheets) df_selected = pd.read_excel(uploaded_file, sheet_name=selected_sheet) st.write(f'نمایش داده‌های شیت: {selected_sheet}') st.dataframe(df_selected) st.sidebar.header('نمودار') chart_type = st.sidebar.selectbox('نوع نمودار', ['Line', 'Bar', 'Area']) selected_column = st.sidebar.selectbox('انتخاب ستون', df_selected.columns) if chart_type == 'Line': st.line_chart(df_selected[selected_column]) elif chart_type == 'Bar': st.bar_chart(df_selected[selected_column]) elif chart_type == 'Area': st.area_chart(df_selected[selected_column]) else: st.write("لطفا یک فایل اکسل آپلود کنید")