Display an html file in streamlit?

Iโ€™m trying to display a html file with the following code but the failed :

import streamlit as st
import streamlit.components.v1 as components
path_to_html = "./stats.html" 

with open(path_to_html,'r') as f: 
    html_data = f.read()

# Show in webpage
st.header("Show an external HTML")
st.components.v1.html(html_data)

stats.html is my local file as the link attachment.

Thanks very much

html_data is undefined and your link to the html file is apparently broken. Other than that, your code seems to work as expected.

Thanks for your response.
The html file show in my server is ok, the html in streamlit is empyt without error message. Iโ€™m wondering if there any html content that streamlit cannot encoding?
Since the length of my html is too large, I attach my html file in the link stats.html

By default, the height of the iframe rendered by components.v1.html is 150px and scrolling is disabled, so you only see the initial part of the embed file. Change that height to something bigger and allow scrolling.

st.components.v1.html(html_data, scrolling=True, height=500)
3 Likes

Yes, I can confirm that. Note that you get a different but still wrong rendering by using markdown:

st.markdown(html_data, unsafe_allow_html=True)

Interestingโ€ฆ

1 Like

Thansk both of you. It works now