我导出了一些Pandas DataFrame
集,并向表格添加了某种形式的样式。现在有 76 个dataframes
我已导出为HTML
文件。
现在我想将它们合并到一个HTML
文件中,如果可能的话,从这些标题生成一个可点击的目录。
我的问题有点类似于这个:Python/html-将多个html合并为一个
我试图遵循它,但它完全不同。
到目前为止,这是我所做的:
import glob
df= glob.glob("*.html")
names = [i.split(".")[0] for i in df]
html = "</head> <body> <p>Data as of 5/11/2020</p> <br><p>ABC comps</p> </body></html>"
for i in df:
html += '<h3>%s</h3>' % (names)
html += '<a href="%s">Your Report Title</a>' % (df)
with open("test1.html", "w") as f:
f.write(html)
但这行不通。我非常感谢您对此的帮助
如果我正确理解您的目标,以下修改应该可以解决问题。
- 将开始标记添加到
html
字符串并从中删除结束标记:
html = '<html><body><p>Data as of 5/11/2020</p> <br><p>ABC comps</p>'
- 在
for
循环中,您无法访问names
和df
的元素。你可以这样做(我删除了<h3>
部分(:
for n, d in zip(names, df):
html += f'<a href="{d}">{n}</a><br>' # Using f-string since you've tagged Python 3
- 最后,将结束标记添加到
html
:
html += '</body></html>'
下面是完整的代码片段。
import glob
df = glob.glob("*.html")
names = [i.split(".")[0] for i in df]
# Markup without closing tags
html = "<html><body> <p>Data as of 5/11/2020</p> <br><p>ABC comps</p>"
for n, d in zip(names, df):
html += f"<a href="{d}">{n}</a><br>" # Using f-string since you've tagged Python 3
html += "</body></html>"
with open("test1.html", "w") as f:
f.write(html)
我希望这有帮助!