You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Dash DataTable单元格字符串中使用HTML代码格式化单元格?

解决方法

要让Dash DataTable解析单元格内的HTML内容,最简便的方式是将对应列的presentation属性设置为'markdown'——Dash的Markdown渲染器支持直接解析内嵌的HTML标签。

修改后的完整代码如下:

from dash import Dash, dash_table
import pandas as pd
from collections import OrderedDict

data = OrderedDict(
    [
        ("Name", ["a", "b", "c"]),
        ("Region", [ "Toronto", "<b> First </b>", '<b style="display:inline">Second</b>',]),
    ]
)
df = pd.DataFrame(data)

app = Dash(__name__)

app.layout = dash_table.DataTable(
    data=df.to_dict('records'),
    columns=[
        {'id': c, 'name': c} if c != 'Region' 
        else {'id': c, 'name': c, 'presentation': 'markdown'} 
        for c in df.columns
    ]
)

if __name__ == '__main__':
    app.run_server(debug=True)

原理说明

Dash DataTable默认将单元格内容作为纯文本渲染,因此HTML标签会直接以字符串形式显示。当把列的presentation参数设为'markdown'后,表格会调用内置的Markdown解析器处理内容,该解析器支持内嵌HTML标签,因此<b>这类格式标签会被正确渲染为对应的加粗样式。

这种方案无需额外维护格式化规则数据表,直接复用原始数据中带HTML格式的字符串即可,完全匹配你想要的轻量化使用场景。

内容的提问来源于stack exchange,提问作者a.t.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 20:05:14