gpt4 book ai didi

Python Pandas to_html 样式

转载 作者:太空宇宙 更新时间:2023-11-04 08:27:38 27 4
gpt4 key购买 nike

我正在尝试将 csv 转换为 html 表格,将其插入电子邮件并发送出去。我发现了一个类似的问题Here似乎效果很好。

我的电子邮件正在发送,但无论我做什么,我似乎都无法设置表格的样式。理想情况下,我想为表格添加一个彩色标题并可能修改边框。这将是每周自动发送的内容,因此我希望它尽可能自动化。

with open('fileTest.html', 'r') as f:
x = f.read()
f.close()
html = x

with open('testy.csv') as input_file:
reader = csv.reader(input_file)
data = list(reader)

#text = text.format(table=tabulate(data, headers="firstrow", tablefmt="html"))
html = html.format(table=tabulate(data, headers="firstrow", tablefmt="html"))

message = MIMEMultipart(
"alternative", None, [MIMEText(text), MIMEText(html, 'html')])

这是我的代码示例,完整版与我分享的链接中的答案基本相同。

如果我尝试将样式标签添加到文件顶部,则 .format() 会因键错误而出错。

编辑

我应该提到我正在从 pandas to_html

生成我的 html
import pandas as pd
from IPython.display import HTML
df = pd.read_csv('testy.csv')
df.to_html('fileTest.html')

我也试过这种方法:

HTML(df.to_html(filetest.html))

这是前几行输出的示例

<table border="1" class="dataframe">
<thead>
<tr style="text-align: right;">
<th></th>
<th>Name of Region</th>
<th>Number Sent To</th>
<th>YTD Calls</th>
<th>MTD Calls</th>
<th>Week of</th>
</tr>
</thead>
<tbody>
<tr>
<th>0</th>
<td>Windham</td>
<td>18032515985</td>
<td>3</td>
<td>1</td>
<td>0</td>
</tr>

Here is 指向有关样式化文档的链接。但我发现他们缺乏

最佳答案

使用 style 代替 to_html 样式。

import pandas as pd

def style_line(s):
'''Rendering odd and even rows with different color'''
return ['background-color: #D4E6F1' if i%2!=0 else 'background-color: #85C1E9' for i in range(len(s))]


df = pd.read_csv('testy.csv')
# df.to_html('fileTest.html')
df = pd.DataFrame(df)
df = df.style.apply(style_line).render()
print(df)

关于Python Pandas to_html 样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45044129/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com