Spaces:
Runtime error
Runtime error
import modules | |
import streamlit as st | |
from streamlit_extras.let_it_rain import rain | |
# Options | |
DISCLAIMER = "*Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam urna sem, bibendum efficitur pellentesque a, sollicitudin pharetra urna. Nam vel lectus vitae elit luctus feugiat a a purus. Aenean mollis quis ipsum sed ornare. Nunc sit amet ultricies tellus. Vivamus vulputate sem id molestie viverra. Etiam egestas lobortis enim, sit amet lobortis ligula sollicitudin vel. Nunc eget ipsum sollicitudin, convallis.*" | |
# Cleaning parameters | |
drop_missing = None, | |
remove_duplicates = None, | |
# Anonymizing parameters | |
anonymize_data = None | |
# Page Config | |
st.set_page_config(layout="wide") | |
# Default Sidebar | |
with st.sidebar: | |
st.header("🕵️ 2anonymity") | |
st.markdown("*Clean and anonymize data*") | |
with st.container() as upload: | |
file = st.file_uploader(f"Upload dataset:", type=modules.SUPPORTED_TYPES, label_visibility="collapsed") | |
df, (filename, extension), result = modules.load_file(file) | |
# Main | |
if df is None: | |
rain("🤠") | |
else: | |
# Add options to sidebar | |
with st.sidebar: | |
# Options for data cleaning | |
with st.container() as cleaning_options: | |
st.markdown("Data cleaning options:") | |
remove_duplicates = st.checkbox("Remove duplicate rows", value=True) | |
drop_missing = st.checkbox("Remove rows with missing values", value=False) | |
# Options for data optimization | |
with st.container() as anonymizing_options: | |
st.markdown("Anonymizing options:") | |
anonymize_data = st.checkbox("Anonymize data", value=True) | |
# Prepare file for download | |
if df is not None: | |
download_file = modules.create_file(df, extension) | |
with st.container() as downloader: | |
st.download_button("Download", download_file, file_name=filename) | |
# Add a disclaimer for data security | |
with st.container() as disclaimer: | |
st.markdown( | |
f""" | |
Disclaimer: | |
{DISCLAIMER} | |
""" | |
) | |
# Preview data before transformation | |
with st.container() as before_data: | |
s = df.style | |
s = s.set_properties(**{'background-color': '#fce4e4'}) | |
st.dataframe(s) | |
# Process data | |
df = modules.data_cleaner(df, drop_missing, remove_duplicates) | |
# Preview data after transformation | |
with st.container() as after_data: | |
s = df.style | |
s = s.set_properties(**{'background-color': '#e4fce4'}) | |
st.dataframe(s) | |
# Attribution | |
st.sidebar.markdown("Created by team #2hack2furious for the hackthethreat2023") |