【问题标题】:How can I wrap Jupyter output in custom HTML?如何将 Jupyter 输出包装在自定义 HTML 中?
【发布时间】:2020-04-03 16:34:05
【问题描述】:

我希望能够获取对象的正常输出并将其插入到自定义 HTML 组件中。具体来说,我希望允许将多个图表放入手风琴 UI 元素,或者在单击按钮时显示隐藏的数据框。有没有办法获取通常输出的 HTML,将其包装在我自己的 HTML 组件中,然后输出?

我试过了:

import IPython.display as dp

dp.display(dp.HTML('<div id="mycontainer">')) # Just a simple div, 
                                              # but ideally would be e.g. bootstrap component
dp.display(my_obj) # my_obj here could be a (potentially styled) dataframe 
                   # or a plot from matplotlib/altair/etc.
dp.display(dp.HTML('</div>'))

但是,未关闭的 &lt;div&gt; 会自动关闭,因此 my_obj 不会插入其中。有些对象有_repr_html_(),但并非所有对象都有(尤其是图表)。尽管如此,Jupyter 显然有一些方法可以从任意对象中提取 HTML。

似乎从尝试阅读 nbconvert 用于将对象更改为 HTML 的源代码,但我不确定 A)我理解正确还是 B)如何从任意对象获取 HTML那不在笔记本节点对象中(或者我自己如何构造这样的对象)。

【问题讨论】:

    标签: jupyter-notebook jupyter nbconvert


    【解决方案1】:

    这个接缝对我有用:

    from IPython.core.display import display, HTML
    
    myString = 'Hello, world!'
    prependHtmlTag = '<h1>'
    appendHtmlTag = '</h1>'
    display(HTML(prependHtmlTag + myString + appendHtmlTag )
    

    只需将任何 html 格式的字符串放入 display(HTML([yourString]))

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多