❐ Streamlit이란?
- 데이터 스크립트를 웹앱 형태로 만들어주는 Python 프레임워크
- 짧은 코드로도 아주 근사한 웹앱을 빠르게 만들 수 있음
프로그램을 웹앱 형태로 제작 + 모든 사람이 사용할 수 있도록 인터넷에 배포하는 방법까지 실습 예정
📎 사이트
📎 터미널에서 가상환경 생성법
python -m venv ch03_env
📎 터미널에서 가상환경을 활성화
ch03_env\Scripts\activate.bat
📎 터미널에서 Streamlit 설치
pip install streamlit
streamlit hello
❐ Streamlit 텍스트 입력 방법
📎 텍스트 엘리먼트 활용
- 다양한 텍스트를 입력하는 모듈들의 사용방법 확인 가능
streamlit 사이트 -> document -> API 레퍼런스 -> 텍스트 엘리먼트
📎 Streamlit run 하기
streamlit run '파일이름'
📎 Streamlit 웹 종료
📎 터미널 이전 명령어 실행
❐ Streamlit 데이터 시각화 방법
1️⃣ DataFrame 형성
2️⃣ 테이블
3️⃣ HGRED 오픈소스 설치
- 테이블을 Interactive하게 만들 수 있음
- 체크박스를 넣어서 시각화, 그룹바이 가능
- 엑셀에서 테이블을 사용하는 것 같은느낌
4️⃣ 메트릭
- value값, 위아래의 값 추가 가능
- 온도나 주식과 같이
+
, -
가 굉장히 중요한 데이터를 시각화할때 사용
+
일때 -> 초록색
-
일때 -> 빨간색
5️⃣ JSON 시각화
- OpenAI를 가지고 정보를 성출하거나 정보를 받을 때 json형태로 진행
StreamReset.json
메소드 안에 넣으면 json데이터가 정제되서 시각화됨
❐ Streamlit 그래프 시각화 방법
- Steamlit은 라인그래프, bar차트와 같은 기본적인 시각화 기능 제공
- Python 시각화 프레임 워크와 연동을 쉽게 할 수 있도록 구현해둠
⤬ 파이플롯 -> matplotlib
⤬ plotlib
→ 다양한 시각화 라이브러리 지원
1️⃣ 라이브러리 설치
pip install
로 matplotlib과 plotly 설치
- 현재 창의 가상환경 안에 설치 진행
→ 라인 그래프
→ 바 차트
❐ Streamlit 인풋 위젯 사용방법
- API 레퍼런스에 오면 인풋 위젯스가 있음
-> 일반적인 버튼 생성, 다운로드 버튼, 라디오 버튼, 셀렉트 박스, 슬라이더, 텍스트를 인풋 아웃풋으로 받는 것도 있음
1️⃣ 인풋위젯 사용 방법
- if문을 통해 실행
- 텍스트 입력 받기
→ 텍스트 인풋이라는 엘리먼트 사용
→ 텍스트 인풋 엘레멘트 안에 라벨을 먼저 지정을 해주면 라벨이 형성됨
→ placeholder는 텍스트 창 안에텍스트를 입력하기 전에 나오는 안내 메세지
F5
로 실행
- placeholder에서의 질문에 대한 답변 작성 -> 저장됨
- 패스워드 지정시 번호 입력해도 노출이 안되게 땡땡땡으로 나옴
2️⃣ 다운로드 버튼 생성
- 다운로드 파일을 만들기 위한 판다스 df형성
- 다운로드 버튼 생성을 위해 다운로드_버튼 이라는 엘레멘트 작성
- csv로 다운로드 라는 버튼을 만든 후 샘플.csv다운로드 확인 가능
3️⃣ 체크박스 로직
- 체크박스 클릭 -> if문 동작 -> 라이트 글씨 작동
3️⃣ 다중선택박스 로직
- 여러가지 아이템 선택 시 사용
- [1] 라벨 입력 -> [2] 선택 리스트 입력
❐ Streamlit 레이아웃 설정방법
1️⃣ 레이아웃
- setPageConfig 활용하면 브라우저 상단에 타이틀을 생성할 수 있음
- 레이아웃 -> wide 끄거나 킬 수 있음
- Columns 개수에 따라서 레이아웃을 나눌 수 있음
- 공간을 1:2:1의 비율로 나눠줄 수 있음: 가운데에만 동영상을 넣어서
2️⃣ 사이드바
3️⃣ 탭 생성
- 탭을 클릭할때마다 탭 안에 작성한 엘리먼트가 나타남
- 탭 안에는 자신이 그 탭에 넣고 싶은 라벨을 리스트 형태로 넣음
스트림릿 내에서 직접 만든 오픈소스로 배포한 유용한 것들이 많음
어느 누군가가 스트림릿 기반으로 만들어서 배포한 것 활용 가능
[인프런]초보자를 위한 ChatGPT API 활용법 - API 기본 문법부터 12가지 프로그램 제작 배포까지