pandas to_html mit dem .style-Optionen oder benutzerdefinierte CSS?
War ich nach der style-guide für pandas und es funktionierte ziemlich gut.
Wie kann ich diese Stile über die to_html Befehl über Outlook? Die Dokumentation scheint ein wenig fehlt, für mich.
(df.style
.format(percent)
.applymap(color_negative_red, subset=['col1', 'col2'])
.set_properties(**{'font-size': '9pt', 'font-family': 'Calibri'})
.bar(subset=['col4', 'col5'], color='lightblue'))
import win32com.client as win32
outlook = win32.Dispatch('outlook.application')
mail = outlook.CreateItem(0)
mail.Subject = subject_name
mail.HTMLbody = ('<html><body><p><body style="font-size:11pt;
font-family:Calibri">Hello,</p> + '<p>Title of Data</p>' + df.to_html(
index=False, classes=????????) '</body></html>')
mail.send
Den to_html Dokumentation zeigt, dass es eine Klassen-Befehl, dass ich innerhalb der to_html Methode, aber ich kann ' T es herausfinden. Es scheint auch, wie mein dataframe ist nicht der Stil, den ich angegeben oben.
Wenn ich versuchen:
df = (df.style
.format(percent)
.applymap(color_negative_red, subset=['col1', 'col2'])
.set_properties(**{'font-size': '9pt', 'font-family': 'Calibri'})
.bar(subset=['col4', 'col5'], color='lightblue'))
Dann df ist jetzt ein Style-Objekt, und Sie können nicht verwenden to_html.
Bearbeiten - dies ist, was ich bin derzeit dabei sich zu ändern, meine Tabellen. Das funktioniert auch, aber ich kann nicht die coolen features von der .style-Methode, die pandas bietet.
email_paragraph = """
<body style= "font-size:11pt; font-family:Calibri; text-align:left; margin: 0px auto" >
"""
email_caption = """
<body style= "font-size:10pt; font-family:Century Gothic; text-align:center; margin: 0px auto" >
"""
email_style = '''<style type="text/css" media="screen" style="width:100%">
table, th, td {border: 0px solid black; background-color: #eee; padding: 10px;}
th {background-color: #C6E2FF; color:black; font-family: Tahoma;font-size : 13; text-align: center;}
td {background-color: #fff; padding: 10px; font-family: Calibri; font-size : 12; text-align: center;}
</style>'''
- Ich habe versucht, für Stunden gestern ohne Glück. Ich kann nicht herausfinden, wie das anpassen des dataframe in Outlook. Es sieht hässlich (große Schrift). Der dataframe auf meinem computer sieht nett aus.. es unterstreicht, wo die Metrik konnte nicht das Ziel, es hat Balkendiagramme zeigen die Lautstärke. Gibt es keinen Weg, um die Anzeige auf die outlook-E-Mail?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sobald Sie
style
um Ihre verketteten Aufgaben Sie arbeiten an einerStyler
Objekt. Dieses Objekt hat einerender
Methode, um das html als string zurück. Also in deinem Beispiel könnte man etwas wie das hier tun:Dann die
html
in Ihrem E-Mail statt einerdf.to_html()
.Es ist nicht ein extravagantes /pythonic Lösung. Ich fügte den link zu einem direkten css-Datei vor dem html-code durch den to_html () - Methode, dann Sparte ich mir den ganzen string als html-Datei. Dies funktionierte gut für mich.