Python 从熊猫到html样式的表级格式
我正在生成一封HTML电子邮件,其中包含一个数据框中的表格。我正在使用pandas样式将CSS添加到结果表中,但无法使表的边框看起来正确。CSS不会应用于表,因此我的边框折叠标记被忽略,并且每个单元格周围都有单独的边框 我已经检查了生成的HTML,在css中有一个与表相关联的id标记。这适用于针对td标记的选择器,但不适用于表格标记。当我手动从HTML中删除这个id时,生成的输出是正常的。我的问题是如何在python中获得这种效果 我正在使用python 2.7.2和pandas 0.23.4Python 从熊猫到html样式的表级格式,python,html,css,pandas,Python,Html,Css,Pandas,我正在生成一封HTML电子邮件,其中包含一个数据框中的表格。我正在使用pandas样式将CSS添加到结果表中,但无法使表的边框看起来正确。CSS不会应用于表,因此我的边框折叠标记被忽略,并且每个单元格周围都有单独的边框 我已经检查了生成的HTML,在css中有一个与表相关联的id标记。这适用于针对td标记的选择器,但不适用于表格标记。当我手动从HTML中删除这个id时,生成的输出是正常的。我的问题是如何在python中获得这种效果 我正在使用python 2.7.2和pandas 0.23.4
import pandas as pd
df = pd.DataFrame([[1,2,3],[4,-5,6]])
styles = [ {'selector': 'table',
'props': [('border', '1px solid lightgrey'),
('border-collapse', 'collapse')]},
{'selector': 'tbody td',
'props': [('border', '1px solid lightgrey'),
('font-size', '11.5px'),
('font-family', 'arial'),
('text-align', 'center'),
('width', '120')]}
]
html = df.style.set_table_styles(styles).render()
实际has表{
<style type="text/css" >
#T_094a3270_141f_11e9_99b1_18a905bf8925 table {
... params
} #T_094a3270_141f_11e9_99b1_18a905bf8925 tbody td {
... params
}</style>
<table id="T_094a3270_141f_11e9_99b1_18a905bf8925" >
... etc
<style type="text/css" >
table {
... params
} #T_094a3270_141f_11e9_99b1_18a905bf8925 tbody td {
... params
}</style>
<table id="T_094a3270_141f_11e9_99b1_18a905bf8925" >
... etc
我很想知道是否有人对上述问题有答案,但我已经通过手动添加字符串解决了这个问题
<style type="text/css" >
table {
border: 1px solid lightgrey;
border-collapse: collapse;
</style>
桌子{
边框:1px纯色浅灰色;
边界塌陷:塌陷;
创建后显示在html的前面
令人恼火的是,这在html电子邮件中没有任何效果,尽管在浏览器中看起来很好
感谢您让boarder在选择器th和td中折叠,而不是在表中折叠。它是有效的。我认为,有一个小技巧可以设计表本身的样式。因为
pandas
将表的ID添加到前面,您可以使用它通过传递一个空的选择器(如
style=[{“选择器”:“,”道具“:[(“边框”,“1px实心浅灰色”)]]
似乎只有第二行输出的html
给了您一个问题,而#t094a3270u 11e999b118a905BF8925表{
应该是表{
是否正确?是的,我认为以表格为目标的样式中不能有表格ID标记。可能解释器会搜索ID,然后将样式应用于它下面的标记,因此表格本身会丢失。