返回

流利的用 Python + Streamlit 搭建互动式数据表格

闲谈

使用 Streamlit 和 Pandas 创建可点击链接数据表格

数据可视化对于理解和传达信息至关重要。交互式数据表格是展示复杂数据集的强大工具,允许用户探索和分析数据。通过将可点击链接添加到数据表格中,你可以进一步增强用户体验,让他们直接从表格中访问相关信息。本文将指导你使用 Python 的 Streamlit 和 Pandas 库轻松创建具有可点击链接的数据表格。

准备工作

在开始编码之前,你需要确保你的 Python 环境中已经安装了 Streamlit 和 Pandas:

pip install streamlit pandas

接下来,创建一个新的 Python 文件,例如 app.py

编码步骤

  1. 导入库:
import streamlit as st
import pandas as pd
  1. 准备数据:

使用 Pandas DataFrame 存储要显示在表格中的数据:

df = pd.DataFrame({
    'Name': ['John', 'Mary', 'Bob'],
    'Age': [20, 25, 30],
    'Link': ['https://example.com/john', 'https://example.com/mary', 'https://example.com/bob']
})
  1. 创建数据表格:

使用 st.dataframe() 函数创建数据表格,并传入 DataFrame:

st.dataframe(df)
  1. 添加可点击链接:

要添加可点击链接,我们需要使用 Pandas 的 styler 属性:

df = df.style.set_properties(**{'background-color': 'white', 'color': 'black'})
df = df.style.set_properties(subset=['Link'], **{'color': 'blue', 'text-decoration': 'underline'})
df = df.style.set_urls(subset=['Link'], urls=df['Link'])
st.dataframe(df)

这些代码行将:

  • 设置表格的背景颜色和字体颜色
  • 为 "Link" 列设置蓝色字体和下划线样式
  • 将 "Link" 列中的值设置为可点击的 URL

运行应用

使用以下命令运行你的应用:

streamlit run app.py

你的应用将在默认浏览器中打开。

结论

通过使用 Streamlit 和 Pandas,你可以轻松创建具有可点击链接的数据表格,从而增强你的数据可视化。这个功能可以提升用户体验,让他们直接从表格中访问更多信息。

常见问题解答

  1. 如何更改链接的样式?
    你可以使用 styler 属性设置链接的文本颜色、背景颜色和文本装饰。

  2. 如何使用不同的数据源?
    你可以使用 Pandas 从各种数据源(如 CSV 文件、数据库或 API)加载数据。

  3. 是否可以使用自定义函数设置链接?
    是的,你可以使用 styler.apply() 函数传递一个自定义函数来设置链接。

  4. 如何处理大型数据集?
    对于大型数据集,可以考虑使用 Pandas 的 to_html() 函数将 DataFrame 转换为 HTML,然后使用 Streamlit 的 st.write() 函数显示 HTML。

  5. 是否可以使用图像或图标作为链接?
    是的,你可以使用 Markdown 语法将图像或图标嵌入链接中,例如:

    df['Link'] = df['Link'].apply(lambda x: f'<a href="{x}"><img src="image.png" alt="Image"></a>')