negotation / research_app.py
jcho02's picture
Create research_app.py
5742bb7
import streamlit as st
import pandas as pd
# Function to export data based on format choice
def export_data(data, format_choice):
if format_choice == 'CSV':
data.to_csv('exported_data.csv', index=False)
elif format_choice == 'JSON':
data.to_json('exported_data.json', orient='records')
elif format_choice == 'Excel':
data.to_excel('exported_data.xlsx', index=False)
else:
st.error("Unsupported format choice!")
# Streamlit app
def main():
st.title("Research Data Export")
# File upload section
st.header("Upload your data")
uploaded_file = st.file_uploader("Choose a file", type=["csv", "json", "xlsx"])
if uploaded_file is not None:
file_extension = uploaded_file.name.split(".")[-1]
try:
if file_extension == 'csv':
data = pd.read_csv(uploaded_file)
elif file_extension == 'json':
data = pd.read_json(uploaded_file)
elif file_extension in ['xlsx', 'xls']:
data = pd.read_excel(uploaded_file)
else:
st.error("Unsupported file format!")
return
st.success("Data loaded successfully!")
# Display loaded data
st.subheader("Loaded Data")
st.dataframe(data)
# Format export section
st.header("Export your data")
export_format = st.selectbox("Select export format", ["CSV", "JSON", "Excel"])
if st.button("Export"):
export_data(data, export_format)
st.success(f"Data exported successfully as {export_format}")
except Exception as e:
st.error(f"Error: {e}")
if __name__ == "__main__":
main()