def csv_display(): # Prompt user for CSV path df_path = st.text_input("Enter the CSV Path to display:") # Display DataFrame st.write("### Display DataFrame") # Read CSV file try: df = pd.read_csv(df_path) except Exception as e: st.error(f"Error: {e}") return # Select page number if df is not None: page_numbers = ['all'] + list(set(df['Page#'].values)) page_number = st.selectbox("Select the Page Number:", options=page_numbers, index=0) # Select columns to display display_cols = df.columns columns_to_display = st.multiselect("Select Columns to Display", df.columns) # Handle page number change def on_page_change(new_page): st.write(df[df['Page#'] == new_page][columns_to_display] if new_page != 'all' else df[columns_to_display]) st.write("### Display Data") st.write("Page number selected:", page_number) st.write("Columns selected:", columns_to_display) # Display selected columns based on page selection if len(columns_to_display) > 0: if page_number == 'all': st.write(df[columns_to_display]) else: on_page_change(page_number) st.selectbox("Select the Page Number:", options=page_numbers, index=page_numbers.index(page_number), on_change=on_page_change) else: st.write("No columns selected") else: st.write("DataFrame not found")