當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Python Streamlit st.write用法及代碼示例

向應用程序寫入參數。

這是 Streamlit 命令的瑞士軍刀:它會根據你向它扔的東西做不同的事情。與其他 Streamlit 命令不同,write() 具有一些獨特的屬性:

  1. 您可以傳入多個參數,所有參數都將被寫入。
  2. 它的行為取決於輸入類型,如下所示。
  3. 它返回None,所以它在App中的"slot"不能被重用。

函數簽名

st.write(*args, **kwargs)
參數說明

*args (any)

要打印到應用程序的一個或多個對象。

參數處理如下:

  • write(string):打印格式化的 Markdown 字符串,支持 LaTeX 表達式和表情符號短代碼。有關更多信息,請參閱st.markdown 的文檔。
  • write(data_frame):將DataFrame 顯示為表格。
  • write(error) :特別打印異常。
  • write(func) :顯示有關函數的信息。
  • write(module) :顯示有關模塊的信息。
  • write(dict) :在交互式小部件中顯示 dict。
  • write(mpl_fig) :顯示一個 Matplotlib 圖。
  • write(altair) :顯示 Altair 圖表。
  • write(keras) :顯示 Keras 模型。
  • write(graphviz) :顯示 Graphviz 圖。
  • write(plotly_fig):顯示一個繪圖圖。
  • write(bokeh_fig) :顯示散景圖。
  • write(sympy_expr):使用 LaTeX 打印 SymPy 表達式。
  • write(htmlable) :如果可用,則為對象打印_repr_html_()。
  • write(obj) :如果其他未知,則打印 str(obj)。

unsafe_allow_html (bool)

這是一個僅限關鍵字的參數,默認為 False。

默認情況下,字符串中的任何 HTML 標記都將被轉義,因此被視為純文本。通過將此參數設置為 True,可以關閉此行為。

也就是說,we strongly advise against it。編寫安全的 HTML 很困難,因此使用此參數可能會損害用戶的安全性。有關更多信息,請參閱:

https://github.com/streamlit/streamlit/issues/152

另請注意,`unsafe_allow_html` 是一項臨時措施,可能隨時從 Streamlit 中刪除。

如果您還是決定啟用 HTML,請在此處告訴我們您的確切用例:https://discuss.streamlit.io/t/96

這將幫助我們提供安全的 API,讓您可以隨心所欲。

示例

它的基本用例是繪製 Markdown 格式的文本,隻要輸入是字符串:

write('Hello, *World!* :sunglasses:')

如前所述,st.write() 還接受其他數據格式,例如數字、 DataFrame 、樣式 DataFrame 和分類對象:

st.write(1234)
st.write(pd.DataFrame({
     'first column': [1, 2, 3, 4],
     'second column': [10, 20, 30, 40],
 }))

最後,您可以傳入多個參數來執行以下操作:

st.write('1 + 1 = ', 2)
st.write('Below is a DataFrame:', data_frame, 'Above is a dataframe.')

哦,還有一件事:st.write 也接受圖表對象!例如:

import pandas as pd
import numpy as np
import altair as alt

df = pd.DataFrame(
     np.random.randn(200, 3),
     columns=['a', 'b', 'c'])

c = alt.Chart(df).mark_circle().encode(
     x='a', y='b', size='c', color='c', tooltip=['a', 'b', 'c'])

st.write(c)

相關用法


注:本文由純淨天空篩選整理自streamlit.io大神的英文原創作品 st.write。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。