2012-05-25 52 views
8

我使用交互式分析和熊猫梦幻笔记本建设一些互动的工作流程中的IPython。IPython Notebook中的“Zebra Tables”?

一些我显示会更容易使用的格式有点读取表。我真的很喜欢“斑马表”,其中每一行都有阴影。 I read here关于如何通过css实现此格式。是否有一个CSS应用到IPython的笔记本,然后使用样式表的表呈现一个非常简单的方法是什么?

回答

13

您可以在<script>标记内的降价单元格中或通过IPython的IPython.core.display.Javascript类运行任意javascript(使用jQuery)。有了这些,您可以操纵(或破坏)文档到您的内容,包括添加样式表。

例如,下面将条纹适当归类表:

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

如果您只是坚持,在你降价的细胞之一,那么它将应用到网页上的所有内容。

或者,你可以运行在Python相同的代码(减去<script>标签)的代码单元:

from IPython.core.display import Javascript, display 
display(Javascript(""" 
    $('head').append(
     "<style type='text/css'>tr.odd{background-color: #def}</style>" 
    ); 
""")) 

但这样做只会影响你的表是适当归类,这是最高的代码即编写HTML(例如在Pandas中)。

+2

这将是一件好事开始在熊猫做这种东西(假设API有点稳定) –

+0

fyi:[this quesion](http://stackoverflow.com/questions/4977008/how-to- use-table-trodd-td-in-html)有一些漂亮的css3 for'zebra tables'。 – drevicko

2

,如果你有兴趣制作使用slickgrid网格/表,但在Python,那么你可能感兴趣的qgrid。这可以从使用熊猫的ipython笔记本上运行。

https://github.com/quantopian/qgrid

另一种选择是使用handsontable这样的:

http://nbviewer.ipython.org/gist/bollwyvl/6ad208084744c60dda65

然而,只有利用大熊猫另一个,第三个选项是在这里:

Pandas Dataframes to_html: Highlighting table rows

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

Pandas Dataframe display on a webpage

http://nbviewer.ipython.org/github/pydata/pandas/blob/8c4f9571c08d5122f1d9e40c43dadab8b6f10bf5/pandas_HTML_styling.ipynb

最后是在大熊猫来呈现一个开放的问题,基于模板:

https://github.com/pydata/pandas/issues/3190

附:从谷歌的Python大师表明,这种最小的解决方案(避免任何第三方的依赖):

https://stackoverflow.com/a/1475453/2230844

或读他的书:

的Python果壳中的,第2版, 第23章结构化文本:HTML

+0

感谢qgrid软件包的提示。 – rbrito

+0

qgrid有着色单元的开放问题 – denfromufa

+1

https://github.com/quantopian/qgrid/issues/28 – denfromufa

相关问题