File size: 1,608 Bytes
cd00dcb
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
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("لطفا یک فایل اکسل آپلود کنید")