awacke1's picture
Update app.py
8e72ad4
import streamlit as st
import pandas as pd
from PIL import Image
import os
# Define the function signature
def display_data(data: pd.DataFrame):
st.experimental_data_editor(data)
#st.experimental_data_editor
# Create the Streamlit app
def main():
st.title("Upload Files and Display Data in Function Signature")
# Create the "uploads" directory if it does not exist
if not os.path.exists("uploads"):
os.makedirs("uploads")
# Create an upload form for CSV files
st.subheader("Upload CSV Files")
csv_file = st.file_uploader("Choose a CSV file", type=["csv"])
# Create an upload form for image files
st.subheader("Upload Image Files")
image_file = st.file_uploader("Choose an image file", type=["jpg", "jpeg", "png"])
# Add OS file listing of uploaded files
st.subheader("Uploaded Files")
files = os.listdir("uploads")
for file in files:
st.markdown(f"[{file}]({os.path.join('uploads', file)})")
# Check if files are uploaded and display data in function signature
if csv_file is not None:
with open(os.path.join("uploads", csv_file.name), "wb") as f:
f.write(csv_file.getbuffer())
data = pd.read_csv(os.path.join("uploads", csv_file.name))
display_data(data)
if image_file is not None:
with open(os.path.join("uploads", image_file.name), "wb") as f:
f.write(image_file.getbuffer())
image = Image.open(os.path.join("uploads", image_file.name))
st.image(image, caption="Uploaded Image")
if __name__ == "__main__":
main()