Spaces:
Build error
Build error
| import streamlit as st | |
| import sqlite3 | |
| import pandas as pd | |
| import os | |
| ## Label Metrics Size | |
| st.markdown("""<style>[data-testid="stMetricValue"] {font-size: 20px;}</style>""", unsafe_allow_html=True,) | |
| ## Horizontal Radio Button | |
| st.write('<style>div.row-widget.stRadio > div{flex-direction:row;justify-content: left;} </style>', unsafe_allow_html=True) | |
| #st.set_page_config(page_title="The Ramsey Highlights", layout="wide") | |
| st.markdown("""<style>[data-testid="stSidebar"][aria-expanded="true"] > div:first-child{width: 370px;} | |
| [data-testid="stSidebar"][aria-expanded="false"] > div:first-child{width: 370px;margin-left: -370px;}""", | |
| unsafe_allow_html=True, | |
| ) | |
| pro_edp = 'https://huggingface.co/datasets/strauss-oak/afa-bd/raw/main/tb-professors.csv' | |
| sch_edp = 'https://huggingface.co/datasets/strauss-oak/afa-bd/resolve/main/drw-inep.csv' | |
| std_edp = 'https://huggingface.co/datasets/strauss-oak/afa-bd/resolve/main/tb-students.csv' | |
| conn = sqlite3.connect("afa-db.db") | |
| sql_example = """SELECT alu_id, alu_nome, alu_uf, alu_cep, progresso_alfabetizacao FROM tb_students WHERE progresso_alfabetizacao >= 6 LIMIT 100""" | |
| txt_example = """Qual um dos estudantes com maior nota no estado de SP?""" | |
| def refresh_data_professors(): | |
| df_pro = pd.read_csv(pro_edp) | |
| n_pro = df_pro.shape[0] | |
| df_pro.to_sql("tb_professors", conn, if_exists="replace") | |
| df_pro = df_pro[:10] | |
| return df_pro, n_pro | |
| def refresh_data_schools(): | |
| df_sch = pd.read_csv(sch_edp, sep=';') | |
| n_sch = df_sch.shape[0] | |
| df_sch.to_sql("tb_schools", conn, if_exists="replace") | |
| df_sch = df_sch[:10] | |
| return df_sch, n_sch | |
| def refresh_data_students(): | |
| df_std = pd.read_csv(std_edp) | |
| n_std = df_std.shape[0] | |
| df_std.to_sql("tb_students", conn, if_exists="replace") | |
| df_std = df_std[:10] | |
| return df_std, n_std | |
| def execute_sql(sql): | |
| data = None | |
| try: | |
| data = pd.read_sql(sql, conn) | |
| except Exception as err: | |
| st.error(err) | |
| return data | |
| st.info('Amostras de Dados:') | |
| e1 = st.expander('Professores:', expanded=False) | |
| with e1: | |
| df, n = refresh_data_professors() | |
| st.dataframe(df) | |
| st.warning('A tabela professores possui {0} registros'.format(n)) | |
| e2 = st.expander('Escolas:', expanded=False) | |
| with e2: | |
| df, n = refresh_data_schools() | |
| st.dataframe(df) | |
| st.warning('A tabela escolas possui {0} registros'.format(n)) | |
| e3 = st.expander('Estudantes:', expanded=False) | |
| with e3: | |
| df, n = refresh_data_students() | |
| st.dataframe(df) | |
| st.warning('A tabela estudantes possui {0} registros'.format(n)) | |
| st.info('Consultas:') | |
| e4 = st.expander('Linguagem SQL:', expanded=False) | |
| with e4: | |
| sql = st.text_input("Digite uma instrução SQL válida:", sql_example) | |
| if st.button("Processar instrução"): | |
| df = execute_sql(sql) | |
| if df is not None: | |
| st.dataframe(df) | |
| st.warning('A consulta retornou {0} registros'.format(df.shape[0])) | |
| del df | |
| e5 = st.expander('Linguagem Natural:', expanded=False) | |
| with e5: | |
| txt = st.text_input("Digite um texto de consulta válido:", txt_example) | |
| if st.button("Processar texto"): | |
| st.write("Em construção") | |
| #sql = """SELECT alu_id, alu_nome, alu_uf, alu_cep, progresso_alfabetizacao FROM tb_students | |
| # WHERE progresso_alfabetizacao >= 6 LIMIT 100""" | |
| #dfp_std = pd.read_sql(sql, conn) | |
| #st.dataframe(dfp_std) | |
| #del dfp_std | |
| #dfp_std.head(4) | |