Streamlitでhtml記法を実現するには以下のように書けば良いわけだが(text
部分は任意のraw html)、
st.write(text, unsafe_allow_html=True)
例えば条件によって文字の色を変えたい!でも改行とかは入れたくない!という時は、ここのtext
にf-string表記を入れればよい。
数字のリストがあったとして、偶数はオレンジ、奇数はグレーで表示したい時の例
app.py
import streamlit as st
numbers = [1,2,3,4,5,6,7,8,9]
text = ""
for i in numbers:
if i%2==0:
text += f'<span style="color:coral">{i}</span>'
else:
text += f'<span style="color:darkgray">{i}</span>'
st.markdown('**color change example:**\n') #太字
st.markdown("---") #区切り線
st.write(text, unsafe_allow_html=True)