python - 将 CSS 合并到我的 Python 脚本的 HTML 中
问题描述
我对编码和python的世界还很陌生,我正在研究一种自动化,它会通过outlook触发自动电子邮件。使用的代码如下
import win32com.client as win32
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.randint(0,20,size=(10, 4)), columns=list('ABCD'))
outlook = win32.Dispatch('outlook.application')
mail = outlook.CreateItem(0)
mail.To = 'user@email.com'
mail.Subject = 'Insert Subject'
table1=df.to_html()
mail.HTMLBody = """
<html>
<head></head>
<link rel="stylesheet" type="text/css" href="df_style.css"/>
<body>
<h4>Table 1: Table data<h4>
""" + table1 + """
</body>
</html>
"""
mail.Send()
我已将我的 CSS 在桌面上保存为df_style,如下所示
.mystyle {
font-size: 11pt;
font-family: Arial;
border-collapse: collapse;
border: 1px solid silver;
}
.mystyle td, th {
padding: 5px;
}
.mystyle tr:nth-child(even) {
background: #E0E0E0;
}
.mystyle tr:hover {
background: silver;
cursor: pointer;
}
但是桌子的变化并没有发生,我只剩下一张普通的旧桌子。我不确定这里出了什么问题...
解决方案
我可以想到两种方法:
- 确保您的 css 文件的路径设置正确,您可能需要使用以下内容:
css_file_path = str(os.path.dirname( file ) + '/' + 'df_style.css')
接着:
mail.HTMLBody = f"""
<html>
<head></head>
<link rel="stylesheet" type="text/css" href={css_file_path}"/>
<body>
<h4>Table 1: Table data<h4>
""" + table1 + """
</body>
</html>
"""
2.在head部分使用style标签:
f"""
<!doctype html>
<html>
<head>
<style>
body {{
background-color: #ffffff;
}}
</style>
</head>
<body>
....
</body>
</html>
注意:如果您使用 f 字符串,请记住使用 {{ 而不是一个作为您的样式。
推荐阅读
- html - 我的 div 下面这个不需要的和未知的空间是什么?
- wordpress - Wordpress 中的空白图像
- reactjs - 赛普拉斯单击带有 href"..." 的按钮不会返回它应该返回的信息
- c++ - 关于在日期 istream/ostream 中重载运算符的问题
- python - 如何 DM discord.py 中的所有用户
- amazon-web-services - Packer 无法验证 jenkins 作业中的 hcl2 模板
- python - 使用请求时Python在API周围抛出错误
- mongodb - 解析命令行时出错:无法识别的选项“--wiredTigerCacheSizeGB 2”
- chart.js - ChartJS 3+ x 轴仅显示完整的时刻对象而不是仅显示月份
- html - 如何将shopify cdn转换/集成到引导程序