|
import os |
|
import pandas as pd |
|
import streamlit as st |
|
|
|
|
|
def list_files(): |
|
icon_csv = "π " |
|
icon_txt = "π " |
|
|
|
current_directory = os.getcwd() |
|
file_list = [] |
|
for filename in os.listdir(current_directory): |
|
if filename.endswith(".csv"): |
|
file_list.append(icon_csv + filename) |
|
elif filename.endswith(".txt"): |
|
file_list.append(icon_txt + filename) |
|
return file_list |
|
|
|
|
|
def read_file(file_path): |
|
try: |
|
df = pd.read_csv(file_path) |
|
return df |
|
except FileNotFoundError: |
|
return "File not found." |
|
|
|
|
|
def delete_file(file_path): |
|
try: |
|
os.remove(file_path) |
|
return f"{file_path} has been deleted." |
|
except FileNotFoundError: |
|
return "File not found." |
|
|
|
|
|
def write_file(file_path, data): |
|
try: |
|
data.to_csv(file_path, index=False) |
|
return f"Successfully written to {file_path}." |
|
except: |
|
return "Error occurred while writing to file." |
|
|
|
|
|
st.title("Question Set Import/Export Editor Downloader") |
|
|
|
|
|
st.header("Files") |
|
files = list_files() |
|
for file in files: |
|
st.write(file) |
|
|
|
|
|
st.header("Edit Data") |
|
file_path = st.text_input("Filename") |
|
data = read_file(file_path) |
|
|
|
if isinstance(data, pd.DataFrame): |
|
st.dataframe(data) |
|
st.write(f"Loaded {file_path}") |
|
|
|
|
|
st.header("Edit Fields") |
|
fields = ["ID", "Title", "Context", "Question", "AnswerText", "AnswerStart"] |
|
new_data = {field: st.text_input(field) for field in fields} |
|
|
|
|
|
st.header("Actions") |
|
add_data = st.button("Add Data") |
|
delete_data = st.button("Delete Data") |
|
save_data = st.button("Save Data") |
|
|
|
if add_data: |
|
data = data.append(new_data, ignore_index=True) |
|
st.success("Data added.") |
|
|
|
if delete_data: |
|
data = data[data["ID"] != new_data["ID"]] |
|
st.success("Data deleted.") |
|
|
|
if save_data: |
|
save_file(file_path, data) |
|
st.success("Data saved.") |
|
|