UD_Zomi / app.py
Juna190825's picture
Update app.py
3e12ab3 verified
import pandas as pd
sheet_id = "1xDGQTL8QXFKK2t_FFZhswfuZc_BwznsWKHeOkFRRXYY"
sheet_name = "Token-Level_Annotation"
import pandas as pd
def df_to_conllu(df):
conllu_sentences = []
for sent_id, group in df.groupby("SENT_ID"):
row0 = group.iloc[0]
text = row0["TEXT"]
text_en = row0["TEXT_EN"]
genre = row0["GENRE"]
source = row0["SOURCE"]
annotator = row0["ANNOTATOR"]
status = row0["STATUS"]
lines = [
f"# sent_id = {sent_id}",
f"# text = {text}",
f"# text_en = {text_en}",
f"# genre = {genre}",
f"# source = {source}",
f"# annotator = {annotator}",
f"# status = {status}",
]
for _, row in group.iterrows():
fields = [
str(row["ID"]),
str(row["FORM"]),
str(row["LEMMA"]),
str(row["UPOS"]),
str(row["XPOS"]),
str(row["FEATS"]),
str(row["HEAD"]),
str(row["DEPREL"]),
str(row["DEPS"]),
str(row["MISC"]),
]
lines.append("\t".join(fields))
conllu_sentences.append("\n".join(lines))
return "\n\n".join(conllu_sentences) + "\n"
def convert(sheet_id, sheet_name):
url = f"https://docs.google.com/spreadsheets/d/{sheet_id}/gviz/tq?tqx=out:csv&sheet={sheet_name}"
df = pd.read_csv(url)
cols = ", ".join(df.columns.tolist())
conllu = df_to_conllu(df)
return f"Columns: {cols}\n\n{conllu}"
# -------------------------
# RUN WITHOUT UI
# -------------------------
sheet_id = "1xDGQTL8QXFKK2t_FFZhswfuZc_BwznsWKHeOkFRRXYY"
sheet_name = "Token-Level_Annotation"
result = convert(sheet_id, sheet_name)
print(result)
import gradio as gr
def noop():
return "Running."
demo = gr.Interface(fn=noop, inputs=None, outputs="text")
demo.launch()