将一个二维列表转换为一个html页面
本帖最后由 tryhi 于 2020-12-26 01:32 编辑https://i.loli.net/2020/12/26/3QmVzARWDgLGKex.jpg
import os
data=[['a','b','c','d'],
['1','2','3','4'],
['5','6','7','8'],
['9','10','11','12']]
#将一个二维表格转换成网页表格
def tab_html(lst):
html_tab = '<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>网页表格</title></head><body><table border="1" cellpadding="10"><tbody>'
for i in lst:
html_tab = html_tab + '<tr>'
for j in i:
html_tab = html_tab + '<td>' + j + '</td>'
html_tab = html_tab + '</tr>'
html_tab = html_tab + '</tbody></table></body></html>'
return html_tab
html = tab_html(data)
with open('aa.html', mode="w",encoding='utf-8') as msg:
msg.write(html)# 在账单日前一天写入文件
os.system('aa.html')
写了这样一函数用来转换,但是发现不够用了,现在我又想增加一些字体颜色,还有一些表格内的文字想要增加连接进去,感觉不好使,又得重构,有没有什么现成的函数?
刚搜到一个pyecharts模块似乎可以满足需求,不知道有没有使用方法,打个比方,我想将这样一个列表,转换为带字体颜色、背景色以及带连接的html表格,要怎么写呢?
data=[
[['a','0x0000FF','0x00FF00','http://www.baidu.com'],['b','0x0000FF','0x00FF00','http://www.baidu.com'],['c','0x0000FF','0x00FF00','http://www.baidu.com'],['d','0x0000FF','0x00FF00','http://www.baidu.com']],
[['1','0x0000FF','0x00FF00','http://www.baidu.com'],['2','0x0000FF','0x00FF00','http://www.baidu.com'],['3','0x0000FF','0x00FF00','http://www.baidu.com'],['4','0x0000FF','0x00FF00','http://www.baidu.com']],
[['5','0x0000FF','0x00FF00','http://www.baidu.com'],['6','0x0000FF','0x00FF00','http://www.baidu.com'],['7','0x0000FF','0x00FF00','http://www.baidu.com'],['8','0x0000FF','0x00FF00','http://www.baidu.com']],
[['9','0x0000FF','0x00FF00','http://www.baidu.com'],['10','0x0000FF','0x00FF00','http://www.baidu.com'],['11','0x0000FF','0x00FF00','http://www.baidu.com'],['12','0x0000FF','0x00FF00','http://www.baidu.com']],]
突然发现好像不用这么麻烦,反正格式都是字符串,直接传对应的html格式进去就行了
前端的东西最后由前端生成,
非要用python,那就用flask这种web构架,里面都自带了模板,传输参数就自动生成了。
如果不用模板,就只能手动。
我看你的列表里颜色和背景都是固定的,整体套用即可:
import requests
from lxml import etree
def main():
data = [
[['a', '0x0000FF', '0x00FF00', 'http://www.baidu.com'], ['b', '0x0000FF', '0x00FF00', 'http://www.baidu.com'],
['c', '0x0000FF', '0x00FF00', 'http://www.baidu.com'], ['d', '0x0000FF', '0x00FF00', 'http://www.baidu.com']],
[['1', '0x0000FF', '0x00FF00', 'http://www.baidu.com'], ['2', '0x0000FF', '0x00FF00', 'http://www.baidu.com'],
['3', '0x0000FF', '0x00FF00', 'http://www.baidu.com'], ['4', '0x0000FF', '0x00FF00', 'http://www.baidu.com']],
[['5', '0x0000FF', '0x00FF00', 'http://www.baidu.com'], ['6', '0x0000FF', '0x00FF00', 'http://www.baidu.com'],
['7', '0x0000FF', '0x00FF00', 'http://www.baidu.com'], ['8', '0x0000FF', '0x00FF00', 'http://www.baidu.com']],
[['9', '0x0000FF', '0x00FF00', 'http://www.baidu.com'], ['10', '0x0000FF', '0x00FF00', 'http://www.baidu.com'],
['11', '0x0000FF', '0x00FF00', 'http://www.baidu.com'],
['12', '0x0000FF', '0x00FF00', 'http://www.baidu.com']]]
print('<table style="color:#0000FF;background-color:#00FF00;">')
for row_item in data:
print('<tr>')
for d_item in row_item:
print(f'<td>')
print(f' {d_item}')
print('</td>')
print('</tr>')
print('</table>')
if __name__ == '__main__':
main()
页:
[1]