&引用;斑马桌“;在IPython笔记本中?

&引用;斑马桌“;在IPython笔记本中?,python,pandas,ipython,ipython-notebook,jupyter,Python,Pandas,Ipython,Ipython Notebook,Jupyter,我正在IPython中构建一些交互式工作流,使用奇妙的笔记本进行交互式分析和处理 我正在显示的一些表格,只要稍加格式化,就会更容易阅读。我真的很喜欢像“斑马桌”这样的东西,每一排都有阴影。我了解如何通过css实现这种格式。有没有一种直接的方法可以将css应用于IPython笔记本,然后使用样式表呈现表格 您可以在标记内的标记单元格中或通过IPython的IPython.core.display.javascript类运行任意javascript(使用jQuery)。有了这些,您可以随心所欲地操纵

我正在IPython中构建一些交互式工作流,使用奇妙的笔记本进行交互式分析和处理


我正在显示的一些表格,只要稍加格式化,就会更容易阅读。我真的很喜欢像“斑马桌”这样的东西,每一排都有阴影。我了解如何通过css实现这种格式。有没有一种直接的方法可以将css应用于IPython笔记本,然后使用样式表呈现表格

您可以在
标记内的标记单元格中或通过IPython的
IPython.core.display.javascript
类运行任意javascript(使用jQuery)。有了这些,您可以随心所欲地操纵(或破坏)文档,包括添加样式表

例如,以下将为适当分类的表添加条带:

<script type="text/javascript">
    $('head').append(
        "<style type='text/css'>tr.odd{background-color: #def}</style>"
    );
</script>

$('head')。追加(
“tr.odd{背景色:#def}”
);
如果你只是把它放在一个标记单元格中,那么它将应用于页面上的所有内容

或者,您可以在代码单元中运行来自Python的相同代码(减去标记):

from IPython.core.display import Javascript, display
display(Javascript("""
    $('head').append(
        "<style type='text/css'>tr.odd{background-color: #def}</style>"
    );
"""))
从IPython.core.display导入Javascript,显示
显示(Javascript(“”)
$('head')。追加(
“tr.odd{背景色:#def}”
);
"""))

但是这样做只会影响适当分类的表,这取决于编写HTML的代码(例如熊猫)。

我刚刚发布了一个名为ipy_table的项目,为在IPython笔记本中创建格式丰富的数据表提供了一种简单的机制(颜色、边框、对齐、浮动格式、斑马阴影等)。该项目位于,您可以从中了解它的功能。

如果您对使用slickgrid构建网格/表格感兴趣,但对python感兴趣,那么您可能对qgrid感兴趣。这项工作可从使用pandas的ipython笔记本中获得

另一种选择是使用handsontable,如下所示:

另一个仅使用熊猫的第三种选择是:

第四个选项是像这样使用jinja2这样的模板引擎:

最后,熊猫中还有一个悬而未决的问题,需要基于模板进行渲染:

谷歌的p.S.Python专家建议采用这种最低限度的解决方案(避免任何第三方依赖):

或者读他的书:

简而言之,Python,第二版,
第23章结构化文本:HTML

开始在pandas中做这类事情会很好(假设API已经稳定下来)仅供参考:有一些漂亮的css3用于“zebra tables”。感谢qgrid软件包上的提示。qgrid有一个关于着色单元格的开放问题您的pdf链接已断开