我正在尝试使用在电子邮件中呈现样式器生成的字符串。似乎很难忽略数据框索引。
table_styles = [dict(selector="tbody tr th", props=[("display", "none")]),
st=df.style.set_table_styles(table_styles)
st.render()
我已经能够使用display none CSS设置,但它在基于CSS支持级别的不同设备上的工作方式不同。
有没有办法让索引有效负载消失?
答案 0 :(得分:1)
我认为我的解决方案与您的解决方案相同,我面临同样的问题(在不同的设备上显示不同)。我只是在这里写下部分解决方案,以帮助那些正在寻找方法的人。
如果你html.render().split('\n')
,你将能够获得与第一列和索引相关的类结构(如果你已经使用过resent_index)。
然后可以定义样式以使用display的CSS属性去掉那些列。
# define the style related to first column and index here
# first-element : when index =True,
# second element: default index of the table generated by the Style
styles = [
dict(selector = ".col0", props = [('display', 'none')]),
dict(selector = "th:first-child", props = [('display', 'none')])
]
# set the table styles here
table.set_table_styles(styles)
答案 1 :(得分:0)
我不确定是否存在相同的问题,但是我的问题是使用.style.render()
将df保存到HTML文件中。我尝试使用CSS样式,但无法正常工作。我使用的解决方案非常简单,我没想到,我基本上运行.hide_index()
,就像这样:
html = ts_volume_html.style.format({'total_ops': "{:.2f}", 'read_ops': '{:.2f}','read_data(bps)':'{:.2f}',
'read_latency(us)': "{:.2f}", 'write_ops': '{:.2f}','write_data(bps)':'{:.2f}',
'write_latency(us)': "{:.2f}", 'other_ops': '{:.2f}','other_latency(us)':'{:.2f}', \
.set_table_attributes('border="1" class="dataframe table table-hover table-bordered"')\
.set_precision(2).set_properties(**{'font-size': '10pt', 'font-family': 'Courier New'})\
.hide_index().background_gradient(cmap=cm).set_table_styles([{'selector': 'th', 'props': [('font-size', '10pt')]}]).render()
然后我将'html'str保存到一个html文件中。
答案 2 :(得分:0)
根据熊猫样式文档部分:Hiding the Index or Columns,使用if(fp == NULL) {
perror ("fopen test.txt");
exit (EXIT_FAILURE);
}
就足够了。在您的情况下,将是:
.hide_index()
答案 3 :(得分:0)
自0.23.0版以来,pandas附带了一个styler.hide_index()函数,将其与其他方法链接起来可以应用,因为返回的对象仍然是样式对象。
如果hide_index()不可用,请尝试更新您的熊猫库