Spaces:
Build error
Build error
Update app.py
Browse files
app.py
CHANGED
|
@@ -372,37 +372,34 @@ if st.button("Extraer cantidades Ifc"):
|
|
| 372 |
Valores_totales_rounded = round(Valores_totales, 3)
|
| 373 |
# Mostrar los resultados en Streamlit
|
| 374 |
|
| 375 |
-
st.write(df_resultados_filtrados)
|
| 376 |
-
# Configurar el estilo de la aplicaci贸n Streamlit
|
| 377 |
-
st.markdown(
|
| 378 |
-
"""
|
| 379 |
-
<style>
|
| 380 |
-
/* Cambiar el color y el tama帽o del texto */
|
| 381 |
-
.estilo-negro-grande {
|
| 382 |
-
color: black;
|
| 383 |
-
font-size: 24px;
|
| 384 |
-
}
|
| 385 |
-
</style>
|
| 386 |
-
""",
|
| 387 |
-
unsafe_allow_html=True
|
| 388 |
-
)
|
| 389 |
# Mostrar el total de los valores con estilo personalizado
|
| 390 |
-
st.subheader("Total de metros c煤bicos:")
|
| 391 |
-
st.markdown(f'<p class="estilo-negro-grande">{Valores_totales_rounded}</p>', unsafe_allow_html=True)
|
| 392 |
-
|
| 393 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 394 |
# Crear un escritor Excel para guardar los DataFrames en hojas diferentes
|
| 395 |
with tempfile.NamedTemporaryFile(delete=False, suffix='.xlsx') as tmp_file:
|
| 396 |
with pd.ExcelWriter(tmp_file.name, engine='xlsxwriter') as writer:
|
| 397 |
-
df_resultado_si.to_excel(writer, sheet_name='Resumen_entidades')
|
| 398 |
-
|
| 399 |
-
|
| 400 |
-
|
|
|
|
| 401 |
# Generar el enlace para descargar el archivo Excel
|
| 402 |
with open(tmp_file.name, 'rb') as f:
|
| 403 |
excel_data = f.read()
|
| 404 |
b64 = base64.b64encode(excel_data).decode()
|
| 405 |
href = f'<a href="data:file/excel;base64,{b64}" download="resultados_validacion.xlsx">Descargar Resultados de Validaci贸n (Excel)</a>'
|
| 406 |
st.markdown(href, unsafe_allow_html=True)
|
| 407 |
-
guardar_y_descargar_excel(df_resultados_filtrados,df_resultado_si)
|
| 408 |
|
|
|
|
| 372 |
Valores_totales_rounded = round(Valores_totales, 3)
|
| 373 |
# Mostrar los resultados en Streamlit
|
| 374 |
|
| 375 |
+
#st.write(df_resultados_filtrados)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 376 |
# Mostrar el total de los valores con estilo personalizado
|
| 377 |
+
#st.subheader("Total de metros c煤bicos:")
|
| 378 |
+
#st.markdown(f'<p class="estilo-negro-grande">{Valores_totales_rounded}</p>', unsafe_allow_html=True)
|
| 379 |
+
|
| 380 |
+
entidades_dfs = {}
|
| 381 |
+
|
| 382 |
+
entidades_unicas = df_resultados_filtrados['Entidad'].unique()
|
| 383 |
+
for entidad in entidades_unicas:
|
| 384 |
+
entidades_dfs[entidad] = df_resultados_filtrados[df_resultados_filtrados['Entidad'] == entidad]
|
| 385 |
+
for entidad, df_entidad in entidades_dfs.items():
|
| 386 |
+
st.write(f"Cantidades totales de propiedades {entidad}")
|
| 387 |
+
st.dataframe(df_entidad)
|
| 388 |
+
|
| 389 |
+
def guardar_y_descargar_excel(entidades_dfs, df_resultados_filtrados, df_resultado_si):
|
| 390 |
# Crear un escritor Excel para guardar los DataFrames en hojas diferentes
|
| 391 |
with tempfile.NamedTemporaryFile(delete=False, suffix='.xlsx') as tmp_file:
|
| 392 |
with pd.ExcelWriter(tmp_file.name, engine='xlsxwriter') as writer:
|
| 393 |
+
df_resultado_si.to_excel(writer, sheet_name='Resumen_entidades', index=False)
|
| 394 |
+
# Guardar los DataFrames por entidad en hojas separadas
|
| 395 |
+
for entidad, df_entidad in entidades_dfs.items():
|
| 396 |
+
df_entidad.to_excel(writer, sheet_name=f'Cantidades_{entidad}', index=False)
|
| 397 |
+
|
| 398 |
# Generar el enlace para descargar el archivo Excel
|
| 399 |
with open(tmp_file.name, 'rb') as f:
|
| 400 |
excel_data = f.read()
|
| 401 |
b64 = base64.b64encode(excel_data).decode()
|
| 402 |
href = f'<a href="data:file/excel;base64,{b64}" download="resultados_validacion.xlsx">Descargar Resultados de Validaci贸n (Excel)</a>'
|
| 403 |
st.markdown(href, unsafe_allow_html=True)
|
| 404 |
+
guardar_y_descargar_excel(entidades_dfs, df_resultados_filtrados, df_resultado_si)
|
| 405 |
|