Módulo: Datos, tablas y conexiones
Este módulo forma parte del curso de Streamlit. .
La visualización y edición de datos estructurados es uno de los puntos fuertes de Streamlit. El módulo cubre desde la presentación de DataFrames de Pandas hasta la conexión a bases de datos SQL reales mediante la API unificada st.connection.
st.dataframe: tabla interactiva
st.dataframe renderiza un DataFrame de Pandas como una tabla HTML interactiva con ordenación, redimensionamiento de columnas y scroll:
import streamlit as st
import pandas as pd
df = pd.read_csv("ventas.csv")
st.dataframe(
df,
use_container_width=True,
column_config={
"precio": st.column_config.NumberColumn("Precio (€)", format="€%.2f"),
"fecha": st.column_config.DateColumn("Fecha", format="DD/MM/YYYY"),
"activo": st.column_config.CheckboxColumn("Activo"),
"web": st.column_config.LinkColumn("URL")
},
hide_index=True
)
st.data_editor: edición in-place
st.data_editor permite al usuario editar celdas directamente en la tabla y devuelve el DataFrame modificado:
df_editado = st.data_editor(
df,
num_rows="dynamic", # Permite añadir/eliminar filas
column_config={"precio": st.column_config.NumberColumn(min_value=0)}
)
st.write("Datos actualizados:", df_editado)
Métricas, tablas estáticas y JSON
col1, col2 = st.columns(2)
col1.metric("Ingresos totales", "€ 45.230", delta="€ +3.210 vs mes anterior")
col2.metric("Tasa de error", "0,32%", delta="-0,05%", delta_color="inverse")
st.table(df.head(5)) # Tabla estática sin interactividad
st.json({"modelo": "RandomForest", "accuracy": 0.94, "features": ["edad", "salario"]})
st.connection: conexión a datos
La API st.connection proporciona una interfaz unificada para conectar con distintas fuentes de datos. Las credenciales se gestionan de forma segura mediante st.secrets:
# .streamlit/secrets.toml
# [connections.mydb]
# type = "sql"
# url = "postgresql://user:pass@host:5432/db"
conn = st.connection("mydb", type="sql")
df_result = conn.query("SELECT * FROM clientes WHERE activo = true", ttl=600)
st.dataframe(df_result)
También está disponible la conexión a Snowflake, Google Sheets, S3 y otras fuentes mediante conectores oficiales de la comunidad. st.secrets gestiona las credenciales como variables de entorno, evitando que aparezcan en el código fuente.
Otros módulos de este curso
Datos, tablas y conexiones
Todos los módulos del curso
Navega entre los módulos de Streamlit
Datos, tablas y conexiones
Estás aquíExplora más sobre Streamlit
Descubre más recursos de Streamlit
Alan Sastre
Ingeniero de Software y formador, CEO en CertiDevs
Ingeniero de software especializado en Full Stack y en Inteligencia Artificial. Como CEO de CertiDevs, Streamlit es una de sus áreas de expertise. Con más de 15 años programando, 6K seguidores en LinkedIn y experiencia como formador, Alan se dedica a crear contenido educativo de calidad para desarrolladores de todos los niveles.