「跟著黑蛋用Streamlit速成天文資料分析Web App」系列文[1]:Streamlit導覽

黑蛋搭乘Streamlit公司的特快車「流蟒之星」前往星光程式,座位前方投影出蛇身的智能導遊,開始進行導覽。

「黑蛋您好,我是i蟒,將為您導覽Streamlit。Streamlit是一個著重在資料科學的Web App框架,內建常用的網頁操作元件,讓您無須具備網頁前端經驗,就能在Python scripts中使用這些元件,組裝出與資料互動、呈現資料的Web App。」

「當您以pip指令安裝好Streamlit後,推薦您先啟動Hello app,一瞥以Streamlit製作的範例app。」

# 安裝Streamlit
pip install streamlit
# 啟動Hello app
streamlit hello

「覺得Hello app的範例太少、意猶未盡嗎?您可以接著參觀Streamlit gallery,一覽與科學、自然語言處理、電腦視覺、商業金融、地理等領域的資料互動的Streamlit apps。」

「逛完範例apps後,等不及自己也來速成一個嗎?依照以下範例Python script,並執行指令streamlit run,一個可以上傳並呈現CSV檔內容的app就完成啦!」

# example.py
import streamlit as st
import pandas as pd

st.title('黑蛋,您好!')
uploaded_csv = st.file_uploader('選擇您要上傳的CSV檔')

if uploaded_csv is not None:
    df = pd.read_csv(uploaded_csv)
    st.header('您所上傳的CSV檔內容:')
    st.dataframe(df)
# 在本地端啟動Streamlit Web App
streamlit run example.py

「想要加入資料篩選的互動功能嗎?您可以查閱Streamlit的cheat sheetAPI reference ,嘗試將更多內建的網頁操作元件組裝到您的app中,例如:st.text_input(文字輸入框)、st.selectbox(下拉式選單)、st.date_input(日期選擇器)、st.button(按鈕)。如果內建的元件無法滿足您的需求,就到Streamlit components瞧瞧有無適合的第三方擴充元件吧。」

「想要把app分享別人嗎?您可以透過Streamlit cloud,將GitHub上的app程式,一鍵部署成別人也可以瀏覽的Web App。」

「最後,當您遇到問題時,可以到Streamlit的『鄉民都來當客服中心community forums』尋找解答 。我的導覽就到這邊結束囉,祝您旅途愉快!」


「齁~~~」黑蛋突然被自己的打呼聲驚醒,原來,黑蛋將自己的Streamlit學習筆記,以及公司的遊戲化公民天文學計畫 《獵星黑客》,一同混合進夢中了…

此系列文由蘇羿豪撰寫,以「創用CC 姓名標示 4.0(CC BY 4.0)國際版授權條款」釋出。

Subscribe to 天文背包黑客
Receive the latest updates directly to your inbox.
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.