streamlit / csv_display.py
jkushwaha's picture
Update csv_display.py
2970320 verified
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")