This commit is contained in:
Lasse Studion 2023-05-03 22:33:20 +02:00
parent 799ca67cf5
commit d70a34fefa

24
app.py
View File

@ -60,14 +60,20 @@ with st.form("files"):
# Ask for relations file.
csv_edges = st.file_uploader(label="Upload file with **relations**.", key="relations", help=f'[Example]({info.relations_example})')
sep = st.radio('Separator in your files:', options=[',', ';', 'tab'])
if sep == 'tab':
sep='\t'
files_uploaded = st.form_submit_button("Ok")
sep = st.radio('Separator in your files:', options=['comma ( , )', 'semicolon ( ; )', 'tab ( \u21E5 )'], help='What are the values in your files separated with?')
files_uploaded = st.form_submit_button("Done")
if files_uploaded:
df = pd.read_csv(csv_edges, sep=sep)
separators = {'comma ( , )': ',', 'semicolon ( ; )': ';', 'tab ( \u21E5 )': '\t'}
if 'sep' not in st.session_state:
st.session_state["sep"] = separators[sep]
if csv_edges == None:
st.markdown(':red[You need to upload a file with relations.]')
st.stop()
df = pd.read_csv(csv_edges, sep=st.session_state["sep"])
df.rename({'type': 'relation_type'}, inplace=True, axis=1) # 'type' can't be used as attribute.
df.columns = [i.lower() for i in df.columns] # Remove capital letters from column names.
@ -113,7 +119,7 @@ if files_uploaded:
)
if csv_nodes != None: # When a nodes file is uploaded.
df_nodes = pd.read_csv(csv_nodes, sep=sep)
df_nodes = pd.read_csv(csv_nodes, sep=st.session_state["sep"])
df_nodes.columns = [i.lower() for i in df_nodes.columns] # Remove capital letters from column names.
columns = df_nodes.columns.tolist()
if "label" in columns:
@ -136,7 +142,7 @@ if files_uploaded:
df_nodes.set_index("labels", inplace=True)
gexf_file = "output.gexf"
#with open(gexf_file) as f:
# Make empty graph.
G = nx.MultiDiGraph()
# Add nodes.
@ -146,7 +152,7 @@ if files_uploaded:
G, df, source=source, target=target, chosen_columns=chosen_columns
)
# Turn the graph into text.
# Turn the graph into a string.
graph_text = "\n".join([line for line in nx.generate_gexf(G)])
# Download gexf-file.