data_assistant / app.py
Zach Holcomb
Initial commit
f4d4bb8
import streamlit as st
import pandas as pd
from functions import *
tab1, tab2 = st.tabs(['Model', 'Data Selection'])
with tab2:
dataframes = []
data_names = []
uploaded_data = st.file_uploader('Upload your data', accept_multiple_files=True)
for file in uploaded_data:
if file and file is not None:
file_type = file.name.split('.')[-1].lower()
if file_type == 'csv':
dataframes.append(pd.read_csv(file))
data_names.append(file.name)
elif file_type == 'parquet':
dataframes.append(pd.read_parquet(file))
data_names.append(file.name)
elif file_type in ['xls', 'xlsx']:
dataframes.append(pd.read_excel(file))
data_names.append(file.name)
else:
st.error("Unsupported file format. Please upload a CSV, Parquet, or Excel file.")
selected_data = st.selectbox(
'Select data:',
(data_names)
)
if selected_data:
index = data_names.index(selected_data)
df = dataframes[index]
st.dataframe(df)
with tab1:
user_query = st.text_input('Ask any question about the data')
if not uploaded_data:
st.error('Please upload data in Data Selection')
elif user_query:
st.write(query_model(user_query))