스트림릿(streamlit)의 다양한 UI 함수들 정리 2
1. 멀티 셀렉트(Multiselect)
st.multiselect() |
멀티 셀렉트 박스는 여러개 중에서
여러개를 선택하는 UI입니다.
선택한 문자열을 리턴합니다.
import streamlit as st
def main() :
language = ['운동', '영화감상', '음악듣기', '산책하기', '먹기']
st.multiselect('당신의 취미를 선택하세요. 복수 선택 가능', language)
if __name__ == "__main__" :
main()
[결과]
2. 슬라이더(Silder) 만들기
st.slider() |
슬라이더(Silder)는 숫자를
조정하는데 주로 사용됩니다.
(파라미터 : 라벨, 최소값, 최대값, 디폴트값, 간격)
정수와 소숫점도 사용할수 있습니다.
소숫점을 사용할때는 값이 모두
소숫점이어야 합니다.
import streamlit as st
def main() :
age = st.slider('나이', 1, 120, 30, 5)
st.text('제가 선택한 나이는 {} 입니다.'.format(age))
if __name__ == "__main__" :
main()
[결과]
3. 익스펜더(Expander) 만들기
st.expander() |
익스펜더는 누르면 확장되는
방식의 프레임 입니다.
클릭하면 숨겨진 영역을
볼수 있습니다.
import streamlit as st
import pandas as pd
def main() :
df = pd.read_csv('data2/iris.csv')
with st.expander('데이터프레임 보기') :
st.dataframe(df)
if __name__ == "__main__" :
main()
[결과]
4. 이미지(Image) 파일 출력
from PIL import Image |
먼저 이미지 처리를 위한
라이브러리를 호출합니다.
st.image() |
Image.open('파일경로')
저장되어 있는 이미지를
화면에 표시하거나
인터넷상에 있는 이미지를
화면에 표시할수 있습니다.
import streamlit as st
from PIL import Image
def main() :
img = Image.open('data2/image_03.jpg')
st.image(img)
if __name__ == "__main__" :
main()
[결과]
import streamlit as st
from PIL import Image
def main() :
# 인터넷상에 있는 이미지를 화면에 표시하기
# URL이 있는 이미지를 말한다.
url = 'https://t1.daumcdn.net/cfile/blog/99AB2B4B5D4057A52D'
st.image(url)
st.text('사진출처 : https://blog.daum.net/myungee/9')
if __name__ == "__main__" :
main()
[결과]
5. 동영상(Video) 파일 출력
st.video() |
동영상을 화면에 표시합니다.
import streamlit as st
def main() :
video_file = open('data2/secret_of_success.mp4', 'rb')
st.video(video_file)
if __name__ == "__main__" :
main()
[결과]
6. 오디오(Audio) 파일 출력
st.audio() |
오디오를 화면에 표시합니다.
import streamlit as st
def main() :
audio_file = open('data2/song.mp3', 'rb')
st.audio( audio_file.read() , format='audio/mp3')
if __name__ == "__main__" :
main()
[결과]
7. 유저한테 입력받는 Input
st.text_input() |
text_input() 함수는
유저한테 문자를 입력받을때
사용합니다.
파라미터로 max_chars에 값을 주면
입력 글자 갯수 제한을 줍니다.
ex. max_chars=10 (10글자까지)
a. 글자 입력받기
import streamlit as st
def main() :
# 유저한테 입력을 받는 방법
# 1. 이름 입력 받기
name = st.text_input('이름을 입력하세요!')
if name != '' :
st.subheader(name + '님 안녕하세요??')
# 2. 입력 글자 갯수 제한
address = st.text_input('주소를 입력하세요', max_chars=10)
st.subheader(address)
if __name__ == "__main__" :
main()
[결과]
b. 여러행의 글자 입력받기
st.text_area() |
유저에게 입력을 받을때
여러행을 입력받을수 있습니다.
import streamlit as st
def main() :
# 여러 행을 입력가능하도록
message = st.text_area('메세지를 입력하세요', height=3)
st.subheader(message)
if __name__ == "__main__" :
main()
파라미터 height으로 글상자 높이를
지정해 줄수 있습니다.
[결과]
c. 숫자 입력받기
st.number_input() |
숫자 정수와 실수를
입력받을수 있습니다.
import streamlit as st
def main() :
# 4. 숫자 입력, 정수
st.number_input('숫자 입력', 1, 100)
# 5. 숫자 입력, 실수
st.number_input('실수 입력', 1.0, 100.0)
if __name__ == "__main__" :
main()
[결과]
d. 날짜 입력받기
st.date_input() |
스트림릿의 date_input() 함수로
유저가 달력에서 날짜를
선택하게 할수 있습니다.
import streamlit as st
def main() :
# 6. 날짜 입력
my_date = st.date_input('약속날짜') # 디폴트로 오늘 날짜가 찍혀 있다.
st.write(my_date)
# 요일 찍기
st.write( my_date.weekday() )
st.write( my_date.strftime('%A') )
if __name__ == "__main__" :
main()
[결과]
e. 시간 입력받기
st.time_input() |
time_input() 함수로
유저에게 시간을 입력받을수
있습니다.
import streamlit as st
def main() :
my_time = st.time_input('시간 선택')
st.write(my_time)
if __name__ == "__main__" :
main()
[결과]
f. 색을 입력받기
st.color_picker() |
색상표에서 유저가 색상을
선택할수 있도록 할수 있습니다.
import streamlit as st
def main() :
# 8. 색을 입력
color = st.color_picker('색을 선택하세요')
st.write(color)
if __name__ == "__main__" :
main()
[결과]
g. 비빌번호 입력받기
import streamlit as st
def main() :
# 비밀번호 입력
password = st.text_input('비밀번호 입력', type='password')
st.write(password)
if __name__ == "__main__" :
main()
[결과]
'Python > Streamlit' 카테고리의 다른 글
스트림릿(Streamlit) 대시보드 라디오버튼 수평으로 놓기 (0) | 2022.05.30 |
---|---|
Data Dashboard App(데이터 대시보드 앱)을 개발하는 순서 (0) | 2022.05.20 |
스트림릿(streamlit)의 다양한 UI 함수들 정리 1 - 글자출력/데이터프레임 출력/버튼, 라디오버튼, 체크박스, 셀렉트박스 만들기 (0) | 2022.05.19 |
비주얼 스튜디오 코드의 터미널을 이용해서 스트림릿 실행하는 방법 (0) | 2022.05.19 |
Streamlit(스트림릿) 설치 방법 (0) | 2022.05.19 |
댓글