###### 파일을 업로드 하는 방법 #########
###### 이미지 파일, CSV 파일 업로드

import streamlit as st
from PIL import Image
import pandas as pd
import os
from datetime import datetime

# 디렉토리 정보와 파일을 알려주면, 해당 디렉토리에
# 파일을 저장하는 함수
def save_uploaded_file(directory, file) :
    # 1.디렉토리가 있는지 확인하여, 없으면 디렉토리부터만든다.
    if not os.path.exists(directory) :
        os.makedirs(directory)
    # 2. 디렉토리가 있으니, 파일을 저장.
    with open(os.path.join(directory, file.name), 'wb') as f :
        f.write(file.getbuffer())
    return st.success("Saved file : {} in {}".format(file.name, directory))

def main():
    
    # 사이드바 만들기 
    st.title('파일 업로드 프로젝트')

    menu = ['Image', 'CSV', 'About']
    choice = st.sidebar.selectbox('메뉴', menu)

    if choice == menu[0] :
        st.subheader('이미지 파일 업로드')
        upload_file = st.file_uploader('이미지 파일 선택', type=['jpg','png','jpeg'])
        if upload_file is not None :
            print(upload_file.name)
            print(upload_file.size)
            print(upload_file.type)

            # 파일명을 유니크하게 만들어서 저장해야 한다.
            # 현재시간을 활용해서, 파일명을 만든다. 
            current_time = datetime.now()
            print(current_time.isoformat().replace(':', '_'))
            
            new_filename = current_time.isoformat().replace(':', '_') + '.jpg'

            upload_file.name = new_filename
            save_uploaded_file('temp', upload_file)


    elif choice == menu[1] :
        st.subheader('CSV 파일 업로드')

        upload_file = st.file_uploader('CSV 파일 선택', type = ['csv'])

        if upload_file is not None:

            # 파일명을 유니크하게 만들어서 저장해야 한다.
            # 현재시간을 활용해서, 파일명을 만든다. 
            current_time = datetime.now()
            print(current_time.isoformat().replace(':', '_'))
            
            new_filename = current_time.isoformat().replace(':', '_') + '.csv'

            upload_file.name = new_filename
            save_uploaded_file('temp', upload_file)

    else :
        st.subheader('파일 업로드 프로젝트 입니다.')



if __name__=='__main__' :
    main()
from email import message
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)

    # 3. 여러 행을 입력가능토록
    message = st.text_area('메세지를 입력하세요', height=3)
    st.subheader(message)

    # 4. 숫자 입력 , 정수
    st.number_input('숫자 입력', 1, 100)

    # 5. 숫자 입력 , 실수
    st.number_input('실수 입력', 1.0, 100.0)

    # 6. 날짜 입력 
    my_date = st.date_input('약속날짜')
    st.write(my_date)

    # 요일 찍기
    st.write( my_date.weekday() )
    st.write( my_date.strftime('%A'))

    # 7. 시간 입력
    my_time = st.time_input('시간 선택')
    st.write(my_time)

    # 8. 색깔 입력
    color = st.color_picker('색을 선택하세요')
    st.write(color)

    # 9. 비밀번호 입력
    password = st.text_input('비밀번호 입력', type='password')
    st.write(password)

if __name__ == '__main__':
    print(__name__)
    main()

'streamlit' 카테고리의 다른 글

streamlit에서 Chart 사용법  (0) 2022.05.20
streamlit 사이드 바와 파일 업로드  (0) 2022.05.20
streamlit 이미지, 동영상 처리  (0) 2022.05.20
streamlit 버튼, 박스  (0) 2022.05.20
streamlit 데이터 프레임  (0) 2022.05.20
import streamlit as st
import pandas as pd

# 이미지 처리를 위한 라이브러리
from PIL import Image

def main():
    # 1. 저장되어있는, 이미지 파일을, 화면에 표시하기
    img = Image.open('data2/image_03.jpg')

    st.image(img)

    st.image(img, use_column_width=True)

    # 2. 인터넷상에 있는 이미지를 화면에 표시하기.
    #    URL이 있는 이미지를 말한다.
    url = 'https://dimg.donga.com/wps/NEWS/IMAGE/2019/07/01/96260737.1.jpg'
    
    st.image(url)

    video_file = open('data2/secret_of_success.mp4', 'rb')
    st.video(video_file)

    audio_file = open('data2/song.mp3', 'rb')
    st.audio( audio_file.read() , format='audio/mp3' )


if __name__ == '__main__' :
    main()

 

'streamlit' 카테고리의 다른 글

streamlit 사이드 바와 파일 업로드  (0) 2022.05.20
streamlit 유저한테 입력을 받는 방법  (0) 2022.05.20
streamlit 버튼, 박스  (0) 2022.05.20
streamlit 데이터 프레임  (0) 2022.05.20
streamlit 제목, 문구  (0) 2022.05.20
import streamlit as st
import pandas as pd

def main():
    df = pd.read_csv('data2/iris.csv')

    # 버튼 만들기
    # if st.button('데이터 보기'):
    #     st.dataframe(df)

    # "대문자" 버튼을 만들고,
    # 버튼을 누르면, species컬럼의 값들을 대문자로 변경한
    # 데이터 프레임을 보여주세요.

    if st.button('대문자'):
        df['species'] = df['species'].str.upper()
        st.dataframe(df)

    # 라디오버튼 : 여러개중에 한개 선택할때
    my_order = ['오름차순 정렬', '내림차순 정렬']

    status = st.radio('정렬방법 선택', my_order)

    if status == my_order[0]:
        # petal_lengeth 컬럼을 오름차순으로 정렬해서 화면에 보여준다.
        # df.sort_values('petal_length')
        st.dataframe(df.sort_values('petal_length'))
    elif status == my_order[1]:
        # df.sort_values('petal_length', ascending = False)
        st.dataframe(df.sort_values('petal_length', ascending = False))

    status = st.radio('정렬방법 선택2', my_order)

    if status == my_order[0]:
        # petal_lengeth 컬럼을 오름차순으로 정렬해서 화면에 보여준다.
        df = df.sort_values('petal_length')
        st.dataframe(df)
    elif status == my_order[1]:
        df = df.sort_values('petal_length', ascending = False)
        st.dataframe(df)

    # 체크박스 : 체크 해제/체크
    if st.checkbox('헤드 5개 보기'):
        st.dataframe(df.head())
    else:
        st.text('헤드 숨겼습니다.')

    # 셀렉트 박스 : 여러개에서 한개만 고르는 UI
    language = ['Python', 'C', 'Java', 'Go', 'PHP']
    my_choice = st.selectbox('좋아하는 언어 선택', language)

    if my_choice == language[0]:
        st.write('파이썬을 선택했습니다.')
    elif my_choice == language[1]:
        st.write('C언어가 좋아요')
    elif my_choice == language[2]:
        st.write('자바 선택')

    # 멀티셀렉트 : 여러개 중에서, 여러개 선택하는 UI
    st.multiselect('여러개 선택가능', language)

    # 멀티셀렉트를 이용해서, 특정 컬럼들만 가져오기.
    # 유저에게, iris df의 컬럼들을 다 보여주고,
    # 유저가 선택한 컬럼들만 데이터 프레임을 화면에 보여줄 것!

    column_list = df.columns
    choice_list = st.multiselect('컬럼을 선택하세요', column_list)

    st.dataframe(df[choice_list])

    # 슬라이더 : 숫자 조정하는데 주로 사용
    # st.slider('나이', 1.0, 120.0, 30.0, 0.1)
    age = st.slider('나이', 1, 120, 30)

    st.text('제가 선택한 나이는 {}입니다'.format(age))

    # 익스펜더
    with st.expander('Hello'):
        st.text('안녕하세요')
        st.dataframe(df)



if __name__ == '__main__':
    main()

'streamlit' 카테고리의 다른 글

streamlit 유저한테 입력을 받는 방법  (0) 2022.05.20
streamlit 이미지, 동영상 처리  (0) 2022.05.20
streamlit 데이터 프레임  (0) 2022.05.20
streamlit 제목, 문구  (0) 2022.05.20
streamlit visual studio 셋팅 방법  (0) 2022.05.20
import streamlit as st
import pandas as pd

def main():
    df = pd.read_csv('data2/iris.csv')

    st.dataframe(df)

    species = df['species'].unique()

    st.text('아이리스 꽃은 ' + species + '으로 되어있다.')

    st.dataframe(df.head())
    st.write(df.head())

if __name__ == '__main__':
    main()

'streamlit' 카테고리의 다른 글

streamlit 이미지, 동영상 처리  (0) 2022.05.20
streamlit 버튼, 박스  (0) 2022.05.20
streamlit 제목, 문구  (0) 2022.05.20
streamlit visual studio 셋팅 방법  (0) 2022.05.20
streamlit 설치 방법  (0) 2022.05.20
import streamlit as st

def main():
    st.title('웹 대시보드')
    st.text('웹 대시보드 개발하기')

    name = '홍길동'

    # 제 이름은 홍길동 입니다.
    print('제 이름은 {}입니다.'.format(name))

    st.text('제 이름은 {}입니다.'.format(name))

    st.header('이 영역은 헤더 영역')

    st.subheader('이 영역은 subheader영역')

    st.success('작업이 성공했을때 사용하자')
    st.warning('경고 문구를 보여주고 싶을 때 사용하자.')
    st.info('정보를 보여주고 싶을 때')
    st.error('문제가 발생했을 때 사용')

    # 파이썬의 함수 사용법을 보여주고 싶을 때
    st.help(sum)
    st.help(len)

if __name__ == '__main__':
    main()

'streamlit' 카테고리의 다른 글

streamlit 이미지, 동영상 처리  (0) 2022.05.20
streamlit 버튼, 박스  (0) 2022.05.20
streamlit 데이터 프레임  (0) 2022.05.20
streamlit visual studio 셋팅 방법  (0) 2022.05.20
streamlit 설치 방법  (0) 2022.05.20

위에 File -> Open File을 누르고 파일을 열어준다. Terminal에서 new terminal을 누르면

터미널이 열리는데 +버튼에서 cmd창을 열고 streamlit을 설치하려면 pip install streamlit을 입력한다.

streamlit을 실행하고 싶으면 streamlit run 파일이름 을 입력해준다.

'streamlit' 카테고리의 다른 글

streamlit 이미지, 동영상 처리  (0) 2022.05.20
streamlit 버튼, 박스  (0) 2022.05.20
streamlit 데이터 프레임  (0) 2022.05.20
streamlit 제목, 문구  (0) 2022.05.20
streamlit 설치 방법  (0) 2022.05.20

Anaconda Prompt를 열고 pip install streamlit을 입력해준다

'streamlit' 카테고리의 다른 글

streamlit 이미지, 동영상 처리  (0) 2022.05.20
streamlit 버튼, 박스  (0) 2022.05.20
streamlit 데이터 프레임  (0) 2022.05.20
streamlit 제목, 문구  (0) 2022.05.20
streamlit visual studio 셋팅 방법  (0) 2022.05.20

https://github.com/

 

GitHub: Where the world builds software

GitHub is where over 83 million developers shape the future of software, together. Contribute to the open source community, manage your Git repositories, review code like a pro, track bugs and feat...

github.com

홈페이지에서 회원가입을 하고, GitHub Desktop을 설치해준다.

https://desktop.github.com/

 

GitHub Desktop

Simple collaboration from your desktop

desktop.github.com

New repository를 통해서 레파지토리를 만들고 클론을 만든다.

 

경로 설정을 해주고 git을 설치해주면 된다.

 

Indexes에 들어가서 Index Name을 적고 Type을 FULLTEXT로 정한뒤 Index Columns에 원하는 문자열 컬럼을 정한다.

FULLTEXT 인덱스를 생성하면 검색의 속도도 높이고 검색 옵션도 다양하게 이용 할 수 있다.

+ Recent posts