使用 Streamlit 和 Pandas 制作带有可点击链接的数据表格

使用 Streamlit 和 Pandas 制作带有可点击链接的数据表格

欢迎来到 Streamlit 的世界!今天,我们将一起探索如何利用 Streamlit 和 Pandas 在 Python 中创建一个带有可点击链接的数据表格。Streamlit 是一个神奇的工具,它让数据科学家和开发人员能够轻松快捷地构建数据应用,而 Pandas 则是处理和分析数据的强大工具。结合它们的力量,我们可以制作出既美观又实用的数据表格。

快速启动

在开始之前,您需要确保已经安装了 Streamlit 和 Pandas。如果还没有安装,可以通过以下命令轻松安装:

复制代码
pip install streamlit pandas

一旦安装完成,我们就可以开始动手编写代码了。

代码详解

我们的目标是创建一个简单的数据表格,其中包含可点击的链接。下面是完整的代码及其逐行解释:

javascript 复制代码
import streamlit as st
import pandas as pd

我们从导入 Streamlit 和 Pandas 开始。这两个库是我们构建应用的基础。

python 复制代码
def make_clickable(url):
    return f'<a target="_blank" href="{url}">💠</a>'

这里,我们定义了一个名为 make_clickable 的函数,它将普通的 URL 转换为 HTML 链接格式。这些链接在新标签页中打开,展示了一个小图标(💠)。

css 复制代码
data = {
    'url': ['https://www.amazon.com/' for _ in range(10)]
}

我们创建了一个包含 10 个重复 Amazon 链接的字典。这只是一个示例,您可以根据需要替换成任何链接。

ini 复制代码
df = pd.DataFrame(data)

接着,我们使用 Pandas 将这个字典转换成一个 DataFrame。DataFrame 是一个非常适合于数据展示和操作的表格式数据结构。

scss 复制代码
df['url'] = df['url'].apply(make_clickable)

我们利用 apply 函数将每个 URL 转换为 HTML 链接。这是通过之前定义的 make_clickable 函数实现的。

ini 复制代码
df = df.to_html(escape=False)

然后,我们将 DataFrame 转换成 HTML。这里的 escape=False 参数是为了确保 URL 被正确地解析为 HTML。

ini 复制代码
st.write(df, unsafe_allow_html=True)

完整代码

python 复制代码
import streamlit as st
import pandas as pd

def make_clickable(url):
    return f'<a target="_blank" href="{url}">💠</a>'

data = {
    'url':['https://www.amazon.com/' for i in range(10)]
}

df = pd.DataFrame(data)
df['url'] = df['url'].apply(make_clickable)
df = df.to_html(escape=False)
st.write(df, unsafe_allow_html=True)

最后,我们使用 Streamlit 的 st.write 函数来在应用中展示这个 HTML 表格。unsafe_allow_html=True 参数允许我们在 Streamlit 应用中渲染 HTML 内容。

展示成果

运行此代码,您将看到一个 Streamlit 应用,其中展示了一个带有 10 个可点击 Amazon 链接的表格。这是一个非常简单的示例,但它展示了 Streamlit 和 Pandas 强大的结合能力。

拓展应用

这个例子只是 Streamlit 和 Pandas 功能的一个小窗口。您可以根据需求添加更多的列、过滤器、图表等,使您的应用更加丰富和动态。

相关推荐
对象存储与RustFS21 分钟前
Spring Boot集成RustFS十大常见坑点及解决方案|踩坑实录
后端
RoyLin34 分钟前
TypeScript设计模式:原型模式
前端·后端·node.js
数据智能老司机1 小时前
精通 Python 设计模式——创建型设计模式
python·设计模式·架构
菜鸟谢1 小时前
Manjaro Tab 无自动补全
后端
Java水解1 小时前
JAVA经典面试题附答案(持续更新版)
java·后端·面试
Java水解1 小时前
Mysql查看执行计划、explain关键字详解(超详细)
后端·mysql
数据智能老司机2 小时前
精通 Python 设计模式——SOLID 原则
python·设计模式·架构
追逐时光者2 小时前
.NET Fiddle:一个方便易用的在线.NET代码编辑工具
后端·.net
林树的编程频道3 小时前
快递的物流地图是怎么实现的
后端
c8i3 小时前
django中的FBV 和 CBV
python·django