2016-10-22 160 views
2

官方document提供了使用to_html(justify='left/right')設置細胞對齊的選項,它可以工作。但是,目前還不清楚如何證明非標題行。如何設置熊貓的細胞對齊dataframe.to_html()

我已經使用黑客以取代HTML部分

import pandas as pd 
df = pd.DataFrame({'looooong_col':['1,234','234,567','3,456,789'],'short_col':[123,4,56]}) 
raw_html = df.to_html() 
raw_html.replace('<tr>','<tr style="text-align: right;">') 

因此,修改後的HTML現在是

<table border="1" class="dataframe"> 
    <thead> 
    <tr style="text-align: right;"> 
     <th></th> 
     <th>looooong_col</th> 
     <th>short_col</th> 
    </tr> 
    </thead> 
    <tbody> 
    <tr style="text-align: right;"> 
     <th>0</th> 
     <td>1,234</td> 
     <td>123</td> 
    </tr> 
    <tr style="text-align: right;"> 
     <th>1</th> 
     <td>234,567</td> 
     <td>4</td> 
    </tr> 
    <tr style="text-align: right;"> 
     <th>2</th> 
     <td>3,456,789</td> 
     <td>56</td> 
    </tr> 
    </tbody> 
</table> 

和它http://htmledit.squarefree.com/渲染確定,但不是當我把它寫出來一個html文件,單元格仍然是左對齊的。

如何解決這一問題?

回答

3

您可以使用Styler功能。

http://pandas.pydata.org/pandas-docs/stable/style.html

import pandas as pd 
import numpy as np 
df = pd.DataFrame(np.random.randn(6,4),columns=list('ABCD')) 
s = df.style.set_properties(**{'text-align': 'right'}) 
s.render() 

s.render()返回產生的CSS/HTML的字符串。請注意,生成的HTML將不會乾淨,因爲內部爲每個單元格聲明瞭單獨的樣式。

+0

更全面的設置請參閱http://stackoverflow.com/a/40993135/2944092中的答案 –