IPython笔记本&Pandas:pandas是如何产生htmltable的?

IPython Notebook & Pandas: How does pandas produce html table?

pandasdataframe的输出是一个HTML table,我想知道它是如何把html变成Ipython Notebook的?

<div class="output_subarea output_html rendered_html output_result">
  <div>
   <table class="dataframe" border="1">
     <thead>
       <tr style="text-align: right">

因为我也想用一些html包装我的输出,我想知道如何。 (Ipython Notebook & Matplotlib: How to wrap a plot within a html div?)

我现在正在挖掘源代码:https://github.com/pydata/pandas/blob/2d51b33066e5991913dcba2cfb93d2112a2e8a8f/pandas/core/format.py

在IPython中你可以通过导入ipython的显示模块来显示任意HTML。 Pandas 可以将 DataFrame 转换为 html,然后您可以对其应用更新,例如:

import pandas as pd
from IPython import display
df = pd.DataFrame(...)
display.HTML(df.to_html())

应该显示与上面相同的 html table。

DataFrame.to_html() returns 一个 http 字符串,因此您可以进行简单的字符串操作来包装您的文本:

display.HTML('<div style="visibility:hidden">'+df.to_html()+'</div>')

会隐藏 table。