将熊猫.set_table_styles与tr:nth-​​child选择器和属性一起使用,并渲染HTML

问题描述

我是使用熊猫样式的新手,所以我发现这一切都很困难,但我正尝试采用Pandas Dataframe。然后,我想将表格样式应用于特定颜色的tr:nth-​​child(odd)行。

我看到set_table_styles()的代码采用CSS选择器和Poperties字典来定义这些样式。

假设我要为我的表选择的选择器是'selector':'tr:nth-​​child(old)',而props将是'props':['background':'blue']

这始终不会产生条带化结果,因此无法弄清楚。我曾经尝试过其他一些样式选项,但不是特别有效。

最后,我需要呈现的HTML,因为将其插入Microsoft Outlook生成的电子邮件中。

任何帮助实现这一目标的方法将不胜感激。以下是产生我的电子邮件但现在表格行已剥离的文本摘录

myMessage = """<HTML>
                    segmentStuffHere
               <HTML>"""

segmentParts = ""

for seg,dF in segmentDataFrames.items():
    html = (
    dF.style
    .set_table_styles([{'selector': 'tr:nth-child(odd)','props': [('background','#FFF')]}])
    .render()
            )
    myMessagePart = """

                    <BODY>
                        <font color="black">
                            The break-out by "{segment}" is as follows:<br><br>
                            {htmlTable}
                            <br>
                        </font>
                    </BODY>


                """.format(htmlTable=html,segment=seg)

    segmentParts += myMessagePart

myMessage = myMessage.replace('segmentStuffHere',segmentParts)
print(myMessage)

# print(myMessage)
outlook = Dispatch("Outlook.Application")

#Contruct a message Body found above ^
# Found the below syntax is needed to build outlook object to send message. 
msg = outlook.CreateItem(0)
msg.To = '{}@email.com'.format('user')
# msg.CC = emailCC

msg.Subject = 'Segment Test'

msg.GetInspector
index = msg.HTMLbody.find('>',msg.HTMLbody.find('<body'))
msg.HTMLbody = msg.HTMLbody[:index + 1] + myMessage + msg.HTMLbody[index + 1:]
# msg.HTMLBody = myMessage

msg.Display(False)
# msg.BodyFormat = '3'
msg.Send()
print('Email Sent!')```

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)