2012-05-25 51 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

相關問題