likes
comments
collection
share

将一个字典结构的数据通过python生成html,并将html保存成图片

作者站长头像
站长
· 阅读数 32

css样式文件

`table {  
font-family: Arial, sans-serif;  
border-collapse: collapse;  
width: 100%;  
margin-bottom: 20px;  
}  

th {  
font-weight: bold;  
background-color: #F5DEB3;  
color: #8B0000;  
text-align: center;  
border: 1px solid black;  
padding: 10px;  
}  

td, th {  
border: 1px solid #ddd;  
text-align: left;  
padding: 8px;  
}  

tr:nth-child(even) {  
background-color: #f2f2f2;  
}`

python代码

`

import os  
import imgkit  

# 定义一个字典  
data = {  
'Name': ['John', 'Sara', 'Peter', 'Mary'],  
'Age': [24, 31, 45, 19],  
'City': ['New York', 'Paris', 'London', 'Tokyo']  
}  

# 构建HTML代码  
html1 = '<html><head><link rel="stylesheet" type="text/css" href="style.css"></head><body>'  
html1 += '<table>'  
html1 += '<thead><tr><th>Name</th><th>Age</th><th>City</th></tr></thead>'  
html1 += '<tbody>'  
for i in range(len(data['Name'])):  
html1 += f'<tr><td>{data["Name"][i]}</td><td>{data["Age"][i]}</td><td>{data["City"][i]}</td></tr>'  
html1 += '</tbody>'  
html1 += '</table>'  
html1 += '</body></html>'  

# 将HTML代码保存到文件中  
with open('table1.html', 'w') as f:  
f.write(html1)  

# 拷贝CSS文件到当前目录  
os.system('cp style.css ./')  

# 使用imgkit生成图片  
imgkit.from_file('table1.html', 'table.jpg')  

# 显示图片  
os.system('open table.jpg')

在这个示例程序中,我们首先定义了一个字典来存储数据。然后,我们使用string模块构建HTML代码,其中我们使用for循环遍历字典的键值对,并将其添加到HTML表格中。我们还通过在HTML head标签中添加link标签来引用外部CSS文件,并在HTML代码中使用对应的CSS类。最后,我们将HTML代码保存到文件中,并使用操作系统命令来将CSS文件复制到当前目录中。

接着,我们使用imgkit库的from_file()函数来生成图片。此函数需要两个参数:HTML文件的路径和要保存的图片文件的路径。在这个示例程序中,我们将HTML文件的路径设置为table.html,将图片文件的路径设置为table.jpg。

请注意,在使用imgkit库之前,你需要安装wkhtmltopdf工具,并将其添加到系统环境变量中。可以通过以下命令在Ubuntu系统中安装:

sudo apt-get install wkhtmltopdf

最后,我们使用操作系统命令打开生成的图片文件。如果你想使用不同的图片格式,可以更改文件扩展名。例如,你可以将table.jpg更改为table.png以生成PNG格式的图片。

转载自:https://juejin.cn/post/7223314301972086844
评论
请登录