import streamlit as st import pandas as pd import plotly.express as px import cx_Oracle as ora import pandas as pd from pandas_profiling import ProfileReport st.title("File Upload and Profiling") # Upload a CSV dataset uploaded_file = st.file_uploader("Upload your dataset", type=["csv"]) if uploaded_file is not None: # Load the dataset and display the first 5 rows df = pd.read_csv(uploaded_file) st.dataframe(df.head()) # Generate a treemap or sunburst plot based on data types numerical_cols = df.select_dtypes(include=["float", "int"]).columns categorical_cols = df.select_dtypes(include=["object"]).columns if len(numerical_cols) >= 2: fig = px.scatter_matrix(df, dimensions=numerical_cols) st.plotly_chart(fig) elif len(categorical_cols) >= 2: fig = px.treemap(df, path=['CD_CDNG_C', 'RECORDCOUNTUNIQUEASSESSMENTLOINC']) st.plotly_chart(fig) else: fig = px.sunburst(df, path=['CD_CDNG_C', 'RECORDCOUNTUNIQUEASSESSMENTLOINC']) st.plotly_chart(fig)